如果我以QMainWindow或QDialog开始qt基础是否重要?

时间:2011-08-22 09:43:36

标签: qt

如果我的应用程序需要多个对话框。 QmainWindow只用于多个对话框的布局?

2 个答案:

答案 0 :(得分:3)

QMainWindow仍然只是一个窗口,但它提供了高级GUI编程的功能。

如果您需要弹出多个对话框,请先阅读qt docs的Modeless Dialogs section

如果基本上说在堆上创建对话框并使用show()方法。

下面的内容(未经测试的代码)。这应该同时显示两个对话框。

int main( int argc, char ** argv ) 
{
 QApplication app;

 Mydialog1 dlg1 = new Mydialog1();
 dlg1->show ();

 Mydialog1 dlg2 = new Mydialog2();
 dlg2->show ();

 a.exec();
}

答案 1 :(得分:3)

是的,QMainWindow为常规GUI应用程序提供了基本窗口。常规GUI应用程序被认为具有“菜单”,“工具栏”,“状态栏” AFAIK,QDialog不提供上述任何一项。如果您的应用程序不需要任何菜单,工具栏等...那么您可以简单地使用QDialogs,如您所说。但是如果您的应用程序有多个小部件,我强烈建议使用QMainWindow。如果你能解释你想要达到的目标,那么也许我们可以帮助你找到更好的选择。