(一)颜色对话框 (QColorDialog)
// 构造颜色对话框对象
// 设置颜色对话框的相关属性
// 初始颜色
// 获取、处理
void Widget::ColorDialogBtn_Clicked()
{
QColorDialog dlg(this); //定义对象
dlg.setWindowTitle("Color Editor"); //定义标题
dlg.setCurrentColor(QColor(100, 111, 222)); //自定义,初始颜色
if( dlg.exec() == QColorDialog::Accepted ) //以模态方式打开
{
QColor color = dlg.selectedColor(); //对话框选择的颜色
qDebug() << color; //打印颜色分量
qDebug() << color.red();
qDebug() << color.green();
qDebug() << color.blue();
qDebug() << color.hue();
qDebug() << color.saturation();
qDebug() << color.value();
}
}
(二)输入对话框 (QInputDialog)
键盘输入
void Widget::InputDialogBtn_Clicked()
{
QInputDialog dlg(this); //对象
dlg.setWindowTitle("Input Test"); //标题
dlg.setLabelText("Please input an integer:"); //提示信息
dlg.setInputMode(QInputDialog::TextInput); //
if( dlg.exec() == QInputDialog::Accepted ) 以模态方式打开
{
qDebug() << dlg.textValue();
}
}
(三)字体对话框(QFontDialog)
设置字体
void Widget::FontDialogBtn_Clicked()
{
QFontDialog dlg(this); //定义对象
dlg.setWindowTitle("Font Dialog Test"); //设置标题
dlg.setCurrentFont(QFont("Courier New", 10, QFont::Bold)); //设置初始字体
if( dlg.exec() == QFontDialog::Accepted ) //以模态方式打开
{
qDebug() << dlg.selectedFont(); //打印
}
}
(四) 进度对话框 (QProgressDialog)
void Widget::ProgressDialogBtn_Clicked()
{
QProgressDialog dlg(this); //定义对话框对象
dlg.setWindowTitle("Updating..."); //标题
dlg.setLabelText("Downloading update from server..."); //提示信息
dlg.setMinimum(0); //输入值下限:最小值
dlg.setMaximum(100); //输入值上限:最大值
dlg.setValue(35); //进度值显示
// create a new thread //启动后台工作线程,从服务器上下载更新
dlg.exec(); //进度对话框不需要用户等待,不用if语句
}
(五)打印对话框 (QPrintDialog)
void Widget::PrintDialogBtn_Clicked()
{
QPrintDialog dlg(this); //定义对象
dlg.setWindowTitle("Print Dialog Test"); //标题
if( dlg.exec() == QPrintDialog::Accepted ) //以模态方式显示出来
{
QPrinter* p = dlg.printer(); //当用户点击ok后,
QTextDocument td; //被打印的文档
//td.setPlainText("Printer object test!");
td.setHtml("<h1>Print html object test</hl>"); //td文本文档,可打印网络
p->setOutputFileName("H:\\test.pdf"); //打印到H盘
td.print(p); //未连接打印机,打印到文件
}
}