【QT学习】对话类QDialog

来源:互联网 发布:康明斯诊断软件下载 编辑:程序博客网 时间:2024/06/06 16:37

非模态对话框:可以与同一个程序的其他窗口进行交互

#include "mywidget.h"

#include "ui_mywidget.h"
#include<QDialog>


MyWidget::MyWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyWidget)
{
    ui->setupUi(this);
    QDialog *dialog = new QDialog(this);
    dialog->show();

}


模态对话框:在该对话框没有关闭之前,不能与同一个应用程序的其他窗口进行交互


将上述代码改为

QDialog dialog(this);

dialog.exec();


还可以使用setModal()函数来实现模态对话框


QDialog *dialog = new QDialog(this);

dialog->setModal(ture);

dialog->show();


与setModal()函数相同的还有一个setWindowModality().


上面三个代码的区别:

        第一段代码对话框和MyWidget类对象的窗口同时弹出,可以交互;第二段代码对话框先弹出,关闭对话框之后MyWidget类对象的窗口弹出;没有关闭之前不能交互;第三段代码是模态的,但是对话框和MyWidget类对象的窗口同时弹出。




0 0
原创粉丝点击