在Qt中显示表单

时间:2010-12-14 06:31:22

标签: qt qt4

这应该很容易。
我正在使用 Qt Creator ,我创建了一个Qt Gui Applicationmain.hmain.uimain.cpp

我刚刚创建了一个Qt Designer Form Class,它还有一个头文件,ui和一个类。 我在我的main.cpp里面做了一个名为 ShowSecondForm 的行动:

void Main::ShowSecondForm()
{

}

每次执行ShowSecondForm();时,我都希望显示第二个表格 我放入什么内容才能打开表格? 此外,可以在打开时将字符串传递给表单吗?像ShowSecondForm(const QString&)一样?

可能会对您有所帮助的一些注意事项:

  • 我想同时打开2张表格。
  • 它也将是一个类,因为它会计算不同的东西。

2 个答案:

答案 0 :(得分:2)

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

m_form = new MyForm (this);
m_form->show();

首先创建表单对象,然后显示它。注意this作为父项传递 - 当父表单被销毁时,子项将被自动关闭和销毁。这也意味着你不需要在析构函数中打扰清理。如果您需要打开多个表单,则每个表单都需要一个对象。

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

最后,有很多方法可以将字符串传递给表单。它是你的表单,所以你可能想要修改它的构造函数,以便在创建时接受字符串,比如m_form = new MyForm ("Some string", this);或者你可能想要在表单中添加一个属性。有时,您可能还想使用QObject的内置属性系统,请查看QObject::setProperty()QObject::property()函数。

答案 1 :(得分:0)

我怀疑this tutorial可能会有所帮助。大概你有一个main.ui,一个main.h和一个main.cpp。

在main.ui文件上运行uic程序,生成ui_main.h标头(如果你没有使用qmake),但基本设置在那个教程中。