在Qt中显示窗体

在Qt中显示窗体,qt,qt4,Qt,Qt4,这应该很容易。 我使用的是Qt-Creator,我制作了一个Qt-Gui应用程序(它有main.h,main.ui和main.cpp) 我刚刚创建了一个Qt设计器表单类,它还有一个头文件、ui和一个类。 我在我的main.cpp中执行了一个名为ShowSecondForm的操作: 每次执行ShowSecondForm()我希望显示第二个表单。 我应该在里面放什么才能打开我的表格? 另外,打开表单时是否可以向表单传递字符串?比如ShowSecondForm(const QString&) 以下注意

这应该很容易。
我使用的是Qt-Creator,我制作了一个
Qt-Gui应用程序
(它有
main.h
main.ui
main.cpp

我刚刚创建了一个
Qt设计器表单类
,它还有一个头文件、ui和一个类。 我在我的
main.cpp
中执行了一个名为ShowSecondForm的操作:

每次执行
ShowSecondForm()我希望显示第二个表单。
我应该在里面放什么才能打开我的表格?
另外,打开表单时是否可以向表单传递字符串?比如
ShowSecondForm(const QString&)

以下注意事项可能对您有所帮助:

  • 我想同时打开两张表格
  • 它也将是一个类,因为它将计算不同的东西
我想可能会有帮助。大概您有一个main.ui、一个main.h和一个main.cpp


在main.ui文件上运行
uic
程序,以生成ui\u main.h头(如果您没有使用qmake),但基本设置在该教程中。

如果您从一个表单打开另一个表单,您可能需要执行以下操作:

m_form = new MyForm (this);
m_form->show();
在这里,您首先创建表单对象,然后显示它。注意
作为父表单传递-销毁父表单时,子表单将自动关闭并销毁。这也意味着您不需要费心在析构函数中清理。如果需要打开多个表单,则每个表单都需要一个对象

m_form1 = new MyForm (this);
m_form1->show();
m_form2 = new MyForm (this);
m_form2->show();

最后,有许多方法可以将字符串传递给表单。它是您的表单,所以您可能需要修改它的构造函数,以便它在创建时接受字符串,比如
m_form=new MyForm(“Some string”,this)
或者您可能希望向表单中添加属性。有时,您可能还希望使用
QObject
的内置属性系统,查看属性和函数。

我认为示例仅使用一种形式。。当我创建第二个表单时,qt自动创建了所需的所有文件、声明和方法。我只是问如何显示我用动作创建的第二个表单。选中ShowSecondForm();我希望每次执行此函数时,都会显示第二个表单。ui系统只需将布局等附加到现有的QWidget上,因此,如果您希望交替使用其中的一个,请为每个QWidget提供一个不同的QWidget并显示/隐藏它们。您好!m_form=新的MyForm(本);将创建一个新表单。我已经使用QtDesigner创建了一个表单。我只想显示我创建的表单。表单称为form2.ui,它有一个form2.h和一个form2.cpp文件,因为它不仅是一个表单,而且是一个类。在designer中,您创建了一个类。类就像是实际使用的表单的蓝图。但要使用它,您需要创建该类的对象。看一看myform2.h,在我的示例中用MyForm替换form2.h中的类名(我猜它是form2)。然后,将创建并打开您使用designer创建的表单。
m_form1 = new MyForm (this);
m_form1->show();
m_form2 = new MyForm (this);
m_form2->show();