当前位置: 代码迷 >> QT开发 >> 构造函数传到自定义参数之后不能设定模态窗口
  详细解决方案

构造函数传到自定义参数之后不能设定模态窗口

热度:79   发布时间:2016-04-25 03:53:52.0
构造函数传入自定义参数之后不能设定模态窗口。
构造函数是这样的:

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是建立消息循环。你之前说连显示都不显示其实也不对,只是显示了一瞬间,然后就隐藏了。
  相关解决方案