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();
}