构造函数是这样的:
MyMessageBox::MyMessageBox(TYPE MyMessageBoxType, QWidget *parent) :
QDialog(parent), myType(MyMessageBoxType),
MyMessageBox *messageBox = new MyMessageBox(1, this);
messageBox->exec();
messageBox显示之后其父窗口还是能编辑,请问要怎么处理?
我是想做成类似QMessageBox的效果。
Qt? QMessageBox QDialog exec 模态
------解决方案--------------------
改一下:
MyMessageBox messageBox(1, this);
messageBox.exec();
------解决方案--------------------
MyMessageBox messageBox(1, this);
messageBox.setModal(true);
messageBox.show();
------解决方案--------------------
看note部分
------解决方案--------------------
我理解的貌似错了
你在setWindowFlags的时候
setWindowFlags(Qt::FramelessWindowHint
------解决方案--------------------
Qt::Dialog);
------解决方案--------------------
MyMessageBox messageBox(1, this);
messageBox.setModal(true);
messageBox.show();
messageBox.exec();
分配在堆上还是分配在栈上,或者说是new一个出来还是象我这样都一样的,我这样写的好处是不需要你关心什么时候delete它。show是显示对话框,exec是建立消息循环。你之前说连显示都不显示其实也不对,只是显示了一瞬间,然后就隐藏了。