我无法在QT中打开新窗口。我是QT的新手,所以我觉得我错过了一些东西。我只编写下面的代码,设置窗口只显示自己并关闭。我已经注释掉了析构函数但仍然存在问题。
SettingsWindow s;
s.show();
我做错了什么?顺便说一句,我无法调试它,例如,debuger在到达第一行时不会停止。
由于
答案 0 :(得分:3)
这可能不是您编写的唯一代码。
然而,根据您的描述判断,首先想到的可能是对QApplication::exec()
的遗漏。在这里没有显示的代码中的某个地方有QApplication
的实例,可能名为app
。在您的窗口上致电show
后,请确保拨打exec
。
答案 1 :(得分:2)
由于您使用的是非指针var,因此当您的窗口位于我们的范围内时(在函数末尾),您的窗口将被销毁。如果在退出函数时使用指针,则不会删除内存,因此仍会显示Windows。但是,如果您无法再访问指针,则关闭窗口时将无法清理内存。
也许你需要创建你的窗口作为调用类的成员,以便能够破坏窗口并清除内存,一旦你不再需要显示它(例如在调用类析构函数中)。