Qt 模态对话框 非模态对话框

qt  学习第一天:  总结

使用qt第一天,感觉开发起来还是很舒服的,每天记录学习到的一点东西,虽说和工作上的不太相关,但是希望自己能坚持下来。


qt编写对话框程序的一些特点:

1.创建并初始化窗口部件

2.将部件窗口添加到布局管理器中

3.建立信号槽的连接

3.实现对话框中的自定义槽



模态对话框就是没有关闭它之前,不能与应用程序的其他窗口交互。


非模态对话框就是既可以与它交互,也可以与应用程序的其他窗口交互。

在MainWindow的构造函数中,创建一个模态窗口

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
     QDialog *pDlg=new QDialog(this);
    //pDlg->setModal(1);
    pDlg->setWindowModality(Qt::ApplicationModal);
    pDlg->show();
}

Qt::ApplicationModal 阻塞应用程序的所有窗口
Qt::WindowModal 阻塞本窗口的父窗口以及父窗口的所有子窗口。
Qt::NonModal   不阻塞任何窗口,即非模态窗口
setModal(1);相当于 
Qt::ApplicationModal 


上面的代码与下面的代码,都是创建模态窗口,但是效果是不同的,上面的代码,在show()函数执行之后,将控制权交还给调用者,MainWindow 窗口也被显示了出来。

而下面的代码,exec()之后,只有当pDlg的窗口被关闭,程序才能接着向下执行。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDialog *pDlg=new QDialog(this);
    dlg.exec();
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值