c++ - QMainWindow 从 main() 函数打开,而不是从任何其他函数打开

标签 c++ qt qmainwindow

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

相关文章:

c++ - 使外部项目可用于find_package CMake

qt - ubuntu 上的 QGLWidget 什么也没显示

c++ - Qt中的SLOT类型是什么?

qt - 使用 MinGW 部署 Qt 需要 VC++ 可再发行吗?

python - 带有 QSplitter 和 QMainWindow 的应用程序 QMdiarea

c++ - 如何在同一文件夹中分发具有源和 header 的 C++ 库

c++ - 为什么 unique_ptr 实例化编译为比原始指针更大的二进制文件?

c++ - Qt:无法设置拖动模式

c++ - 如何在 vector 中写入 "insert"?

c++ - QDialog 不会停留在父 QMainWindow 之上