1. 字体对话框
-
QT 中提供了预定义的字体对话框 QFontDialog 类
-
QFontDialog 类用于提供选择字体的对话框部件
-
字体对话框的实用方式
// 构造字体对话框对象 QFontDialog dlg(parent); // 设置字体对话框的相关属性 dlg.setWindowTitle("Font Editor"); dlg.set("Courier Mew",10,QFont::Bold); // 初始字体 if( dlg.exec() == QFontDialog::Accepted) { qDebug()<<dlg.selecteFont(); }
-
QFontDialog中的实用函数
QFontDialog::getFont
2. 进度对话框
-
QT 中提供了预定义的进度对话框 QProcessDialog 类
-
QProgressDialog 用于显示进度消息
-
QProgressDialog 类用于需要用户等待场合
-
进度对话框的使用方式
// 构造进度对话框对象 QProgressDialog dlg(parent); // 设置进度对话框的相关属性 dlg.setWindowTitle("Updating ..."); dlg.setLabelText("Downloading from server ..."); dlg.setMinimum(0); // 设置最小进度值 dlg.setMAximum(100); // 设置最大进度值 dlg.exec();
3. 打印对话框
-
QT 中提供了预定义的打印对话框 QPrintDialog 类
-
QPrintDialog 用于设置打印相关参数信息
-
打印对话框的使用方式
// 构造打印对话框对象 QPrintDialog dlg(parent); // 设置带你对话框的相关属性 dlg.setWindowTitle("Print Dialog"); if( dlg.exec() == QPrintDialog::Accepted ) { QPrint *p = dlg.printer(); // use printer object to print data }
-
QT 中的 QPrinter 类是打印设备及其参数的封装
-
QPrinter 类封装了系统中打印设备的驱动接口
-
QPrinter 以相同方式使用系统中的不同打印设备
-
注意点:
在用Qt做记事本的时候出现:QPrinter:no such file or directory 的错误,解决方法如下: 在.pro文件中添加下面一行代码: QT+= printsupport 就可以了,头文件不需要改。这是因为Qt 5中将所有打印的相关类都放到了Qt Print Support模块造成的。
4. 总结
-
QT 中标准对话框的设计模式
GUI 界面部件产生数据对象 业务逻辑中的其它对象使用数据对象 GUI 界面与业务逻辑通过数据对象连接