当前位置: 代码迷 >> QT开发 >> QT中模态和非模态有关问题
  详细解决方案

QT中模态和非模态有关问题

热度:96   发布时间:2016-04-25 04:16:12.0
QT中模态和非模态问题
我看assist上面用
QWidget::setWindowModality();
但我的代码如下

         test_d *a = new test_d;
a->setWindowModality(Qt::WindowModal);
a->show();

这样的话根本不是模态的,如果改成

         test_d a;
a.setWindowModality(Qt::WindowModal);
a.show();

则会一闪而过啥都看不到,我的这个widget 我是想做一个类似window 弹出的模态对话框的样子,不过好像不行。
哪位大侠说说看?
------解决方案--------------------
引用:
引用:

test_d类继承mainWindow应该也可行,总之test_d要是个windows,setWindowModality才会有效

也就是说需要类似window或者dialog等的基类,这个模态的才起作用?

不对,任何一个QWidget的派生类都可以设置模态还是非模态。


注意:setWindowModality 函数的参数3个可取值!! NonModal、WindowModal、ApplicationModal 分别对应

默认情况下的
    QDialog::show()
    QDialog::open()
    QDialog::exec()

http://blog.csdn.net/dbzhang800/article/details/6300416 前半部分可供参考。
  相关解决方案