我的 Qt 应用程序遇到了一个奇怪的问题。我有一个QMainWindow
,方便MainWindow
。
以下代码在 main()
函数中运行:
int main(int argc, char *argv[])
{
..
MainWindow mainWindow;
mainWindow.show();
..
}
但是,下面根本不显示主窗口:
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/