qt槽函数里调用QMainWindow.show()不显示
本人刚学习qt,想实现Widget窗口上设置一个button,按下button弹出mainwindow窗口,可是操作过程中发现按下button后无反应,代码如下:
void Widget::on_pushButton_clicked()
{
myMainWindow maj(this);
maj.show();
qWarning("hello");
}
然后实验按下button后显示对话框,看行不行,发现对话框和mainwindow都显示出来了,代码如下,但是屏蔽掉dlg.exec(),不让对话框现实,mainwindow也不会显示,
void Widget::on_pushButton_clicked()
{
myMainWindow maj(this);
maj.show();
myDialog dlg(this);
dlg.exec();
qWarning("hello");
}
请大神们指点
[解决办法]
myMainWindow maj(this); 构造后
执行完maj.show(); 一直到}后
执行了析构
而dlg.exec();暂停了程序!
看看C++得构造和析构就明白了
你可以将myMainWindow maj(this); 定义在函数{}外或者全局变量!