【发布时间】:2022-01-04 21:11:32
【问题描述】:
我浏览了有关我的问题的建议“问题”。但是两者都不能解决。
我编写了两个窗口。第二个窗口从第一个窗口打开。我需要激活两个窗口,但是要启动我使用的第一个窗口(MainWindow):
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.setWindowModality(Qt::NonModal);
return a.exec();
}
如前所述,第二个窗口是从 pushButton 启动的,它以相同的方式位于第一个窗口(MainWindow)中。
void MainWindow::on_pushButton_2_clicked()
{
Graphics gr;
gr.setWindowModality(Qt::NonModal);
gr.exec();
}
我将模态更改为非模态,但是问题没有改变。 Non-Modal 的意思是:“该窗口不是模态的,不会阻止对其他窗口的输入。”
你有什么想法,如何解决这个问题?
【问题讨论】:
-
您需要使用
.show(),并且您还需要确保Graphics对象实际上存在于按钮单击处理程序之外。您正在使用一个局部变量 - 该变量在函数返回时被销毁,并带走窗口。
标签: c++ qt-creator qdialog