我的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/

10-13 04:24