读书人

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

发布时间: 2013-01-01 14:04:19 作者: rapoo

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 前半部分可供参考。

读书人网 >QT开发

热点推荐