我的Qt应用有个奇怪的问题。我有一个QMainWindow
,很方便MainWindow
。
以下代码可从main()
函数运行:
int main(int argc, char *argv[])
{
..
MainWindow mainWindow;
mainWindow.show();
..
}
但是,以下内容根本不显示MainWindow:
int main(int argc, char *argv[])
{
AnotherClass::staticFunction();
}
class AnotherClass: public QObject {
Q_OBJECT
public:
static void staticFunction();
}
void AnotherClass::staticFunction() {
MainWindow mainWindow;
mainWindow.show();
return ;
}
最佳答案
哦,我的坏!这是因为main永远不会返回并进入exec循环。但是,由于我的函数立即返回,因此窗口被破坏了。将MainWindow mainWindow;
更改为MainWindow* mainWindow = new MainWindow();
解决了我的问题:
关于c++ - QMainWindow从main()函数打开,但不从任何其他函数打开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11465219/