如果我的应用程序需要多个对话框。 QmainWindow只用于多个对话框的布局?
答案 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。如果你能解释你想要达到的目标,那么也许我们可以帮助你找到更好的选择。