Qt之基本对话框
基本对话框主要介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox)。
1.首先创建Mainwindow窗口,添加8个界面元素,分别为文件标准对话框、颜色标准对话框、字体标准对话框、标准输入对话框和标准消息对话框5个QPushButton对象,文件标准编辑框、字体标准编辑框2个QLineEdit对象,颜色标准框QFrame对象。我采用的是new添加控件方式,大家可以选择工具箱拖动方式。
2.为按钮控件创建信号槽关联关系。
3.上图中m_tabInfo[WID_QDialog].pWidget大家可以用this指针代替,我使用它的目的是想把Qt所有控件的实现集成到一个功能界面上,方面后期回忆学习。生成的界面如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/73f15d06b5f1479c9c3db294f9c9706f.png
1.标准文件对话框(QFileDialog)
1.QFileDialog类提供了几个静态函数接口,我们可以通过这些函数定制自己的文件对话框。本文在slotBtnFileDlg()函数中实现标准文件对话框的功能。
2.测试过程
点击标准文件对话框按钮。
3.测试结果
2.标准颜色对话框(QColorDialog)
1.本文在slotBtnColorDlg()函数中实现标准颜色对话框的功能。
2.测试过程
点击标准颜色对话框按钮。
3.测试结果
3.标准字体对话框(QFontDialog)
1.本文在slotBtnFontDlg()函数中实现标准字体对话框的功能。
2.测试过程
点击标准字体对话框按钮。
3.测试结果
4.标准输入对话框(QInputDialog)
标准输入对话框提供四种数据类型的输入,包括字符串、下拉列表框的条目、int数据类型和double数据类型。为方便展示这四种输入情况,特采用一个新的窗口实现。
新建InputDlg窗口
1.新增InputDlg窗口,继承自QDialog,选择Dialog without buttons。添加姓名、性别、年龄、分数4个QPushButton对象和4个QLineEdit对象,生成界面如下:
2.在主窗口添加InputDlg的实现方法。
标准字符串输入对话框
标准字符串输入对话框通过QInputDialog类的静态函数getText完成。添加“姓名”按钮对应的点击槽函数,实现姓名的输入功能。
1.代码实现
2.功能测试
输入一个有效字符,查看是否显示正确。
标准条目选择对话框
标准条目选择对话框通过QInputDialog类的静态函数getItem完成。添加“性别”按钮对应的点击槽函数,实现性别的选择功能。
1.代码实现
2.功能测试
标准int类型输入对话框
标准int类型输入对话框通过QInputDialog类的静态函数getInt完成。添加“年龄”按钮对应的点击槽函数,实现年龄的修改功能。
1.代码实现
2.功能测试
标准double类型输入对话框
标准double类型输入对话框通过QInputDialog类的静态函数getDouble完成。添加“分数”按钮对应的点击槽函数,实现分数的修改功能。
1.代码实现
2.功能测试
5.标准消息对话框(QMessageBox)
Qt提供了QMessage类用于为用户提供一些提示或提醒,常用的消息对话框包括Question消息框、Information消息框、Warning消息框、Critical消息框、About(关于)消息框、About(关于)Qt消息框及custom(自定义)消息框。
Question消息框:为正常的操作提供一个简单的询问;
Information消息框:为正常的操作提供一个提示;
Warning消息框:提醒用户发生了一个错误;
Critical消息框:讲稿用户发生了一个严重错误。
新建MsgDlg窗口
1.新建MsgDlg窗口,继承自QDialog,选择Dialog without buttons。添加QuestionMsg、InformationMsg、WarningMsg、CriticalMsg、AboutMsg、AboutQtMsg6个QPushButton对象。
2.在主窗口添加MsgDlg窗口调用方法。
Question消息框
1.代码实现
2.功能测试
Information消息框
1.代码实现
2.功能测试
Warning消息框
1.代码实现
2.功能测试
Critical消息框
1.代码实现
2.功能测试
About(关于)消息框
1.代码实现
2.功能测试
About(关于)Qt消息框
1.代码实现
2.功能测试