QWidget是Qt中的窗口类,实现QWidget窗口显示有三个步骤。
1.实例化一个窗口类对象(类QWidget的对象可以是QWidget,也可以是QWidget的继承类)
QWidget* pW = new QWidget(NULL);
2.调用函数QWidget::setWindowsModality(Qt::WindowModality windowModality)设置窗口类型,其中Qt::WindowModality windowModality取值如下:
Qt::NonModal 不阻塞(非模态对话框)
Qt::WindowModal 阻塞父窗口,所有祖先窗口及其子窗口(半模态对话框)(没特殊要求的话,一般用这个)
Qt::ApplicationModal 阻塞整个应用程序(模态对话框)
3.调用函数QWidget::show()显示该窗口
QWidget设置模态显示,示例代码如下:
// 示例1
QWidget* pW = new QWidget();
pW->setWindowModality(Qt::ApplicationModal);
pW->show();
// 示例2
QWidget* pW2 = new QWidget(this);
pW2->setWindowModality(Qt::ApplicationModal);
pW2->show();
特别注意:如果要给QWidget窗体设置模态显示,就不能指定父对象。再上述示例中,示例1窗体模态显示,示例2不会显示。