Qt基础 04_Qt对话框(三) 标准对话框
2017-06-07 09:43
260 查看
/[b]******************************************************[/b]
* 课程名 :QT编程
* 时 间 :2017年6月1日(周四)下午 + 2017年6月2日(周五)上午前半段
* 工程名 :05-standardDialog
* 类 名 : standardDialog
* 内 容 :标准对话框 —— Color颜色对话框、Font字体对话框、File文件对话框、Message消息对话框
* CSDN : Qt基础 03_Qt对话框(三)
[b]******************************************************[/b]/
步骤一:添加头文件#include < QColorDialog >和#include < QPalette >
步骤二:新建测试字体的Label和colorButton,利用colorButton“转到槽”的属性,添加如下功能:
方法一:通过静态方法实现
方法二:通过静态方法实现
步骤一:添加头文件#include < QFontDialog >
步骤二:新建fontButton,利用fontButton“转到槽”的属性;
步骤三:F1< QFontDialog > ,找到getfont的属性说明,将其中的例子拷入槽函数,并做修改
步骤一:添加头文件#include < QFileDialog > 和 #include < QFile >
步骤二:新建fileopenButton,利用fileopenButton“转到槽”的属性;
步骤三:F1< QFileDialog >找到getOpenFileName的属性说明。添加如下功能:
小作业:同时打开n个文件,将文件内容读出
步骤一:添加头文件#include < QMessageBox >
步骤二:新建MessageButton,利用MessageButton“转到槽”的属性;
步骤三:F1< QMessageBox >找到getOpenFileName的属性说明。添加如下功能:
源代码:http://download.csdn.net/download/c_estbon/9863182
* 课程名 :QT编程
* 时 间 :2017年6月1日(周四)下午 + 2017年6月2日(周五)上午前半段
* 工程名 :05-standardDialog
* 类 名 : standardDialog
* 内 容 :标准对话框 —— Color颜色对话框、Font字体对话框、File文件对话框、Message消息对话框
* CSDN : Qt基础 03_Qt对话框(三)
[b]******************************************************[/b]/
前言:更改对话框标题
在构造函数中添加如下代码:standardDialog::standardDialog(QWidget *parent) : QDialog(parent), ui(new Ui::standardDialog) { ui->setupUi(this); this->setWindowTitle("标准对话框测试"); }
一、Color颜色对话框
目标:利用颜色对话框更改字体颜色步骤一:添加头文件#include < QColorDialog >和#include < QPalette >
步骤二:新建测试字体的Label和colorButton,利用colorButton“转到槽”的属性,添加如下功能:
方法一:通过静态方法实现
void T5_Dialog::on_ColorButton_clicked() { //通过静态方法实现 //1.模态弹出颜色对话框 QColor color = QColorDialog::getColor(Qt::black,this,"颜色对话框"); //2.判断用户点击ok还是cancel if(color.isValid()) { //3.修改label字体颜色 //3.1 读 QPalette palett = ui->testLabel->palette(); //3.2 改 palett.setColor(QPalette::WindowText,color); //3.3 写 ui->testLabel->setPalette(palett); } else { qDebug()<<"颜色取消选择"; } //在控制台输出用户选择的颜色 QRgb rgb = color.rgb(); qDebug()<<"#"<<QString::number(rgb,16); }
方法二:通过静态方法实现
void T5_Dialog::on_ColorButton_clicked() { //通过对象方法动态实现 //1.创建对象 QColorDialog colorDlg(Qt::red,this); //2.打开alpha通道 colorDlg.setOption(QColorDialog::ShowAlphaChannel,true); //3.模态弹出 colorDlg.exec(); QColor color = colorDlg.currentColor(); //4.修改label字体颜色 //4.1 读 QPalette palett = ui->testLabel->palette(); //4.2 改 palett.setColor(QPalette::WindowText,color); //4.3 写 ui->testLabel->setPalette(palett); //在控制台输出用户选择的颜色 QRgb rgb = color.rgb(); qDebug()<<"#"<<QString::number(rgb,16); }
二、Font字体对话框
目标:利用字体对话框更改字体格式步骤一:添加头文件#include < QFontDialog >
步骤二:新建fontButton,利用fontButton“转到槽”的属性;
步骤三:F1< QFontDialog > ,找到getfont的属性说明,将其中的例子拷入槽函数,并做修改
void standardDialog::on_fontButton_clicked() { bool ok; QFont font = QFontDialog::getFont(&ok, QFont("Times",12),this,"字体对话框"); if (ok) { // font is set to the font the user selected ui->testLabel->setFont(font); } else { // the user canceled the dialog; font is set to the default // application font, QApplication::font() } }
三、File文件对话框
目标:利用文件对话框打开、保存文件步骤一:添加头文件#include < QFileDialog > 和 #include < QFile >
步骤二:新建fileopenButton,利用fileopenButton“转到槽”的属性;
步骤三:F1< QFileDialog >找到getOpenFileName的属性说明。添加如下功能:
/* 文件操作步骤:1.打开文件 2.操作文件 3.关闭文件 */ void standardDialog::on_fileopenButton_clicked() { //通过打开对话框获取文件路径 QString path = QFileDialog::getOpenFileName(this,"文件打开对话框","D:/", "图片(*png *jpg *gif);;文本文件(*txt);;所有文件(*)"); //可打印出完整文件路径 qDebug()<< path ; //使用#inlude<QFile>头文件,即可创建文件对象,F1查看帮助文档 //创建文件对象 QFile file(path); //打开文件 if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { //打开成功 //读 QByteArray array = file.readAll(); //显示到label //其中的fromLocal8Bit(array)是为了将读取的内容从本地编码转为UTF-8 ui->testLabel->setText(QString::fromLocal8Bit(array)); } else { //打开失败 qDebug()<<"文件打开失败"; } //关闭 file.close(); }
小作业:同时打开n个文件,将文件内容读出
四、Message消息对话框
目标:实现消息对话框步骤一:添加头文件#include < QMessageBox >
步骤二:新建MessageButton,利用MessageButton“转到槽”的属性;
步骤三:F1< QMessageBox >找到getOpenFileName的属性说明。添加如下功能:
void standardDialog::on_messageButton_clicked() { //提问对话框 int ret = QMessageBox::question(this,"提问","你们了解Qt吗?",QMessageBox::Yes,QMessageBox::No); if(QMessageBox::Yes == ret) { qDebug() << "是的,我了解"; } else { qDebug() << "不,我不了解"; } //提示对话框 QMessageBox::information(this,"提示","这是我们的QT课程",QMessageBox::Ok); //警告对话框 QMessageBox::warning(this,"警告","上课不能玩游戏",QMessageBox::YesAll); //关于对话框 QMessageBox::about(this,"关于","本课程的考核方式:小项目验收"); }
源代码:http://download.csdn.net/download/c_estbon/9863182
相关文章推荐
- QT基础——12模态和非模态对话框、标准对话框和文件对话框
- Qt学习之路(17): Qt标准对话框之QMessageBox 推荐
- Qt学习之路(15): Qt标准对话框之QFileDialog
- Qt标准对话框之QMessageBox (转载)
- QT 类及其实现效果(1)--标准对话框与多文档布局
- Qt标准对话框
- Qt学习之路(15): Qt标准对话框之QFileDialog 推荐
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(17): Qt标准对话框之QMessageBox
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(17): Qt标准对话框之QMessageBox
- Qt学习之路(16): Qt标准对话框之QColorDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog
- Qt学习之路(18): Qt标准对话框之QInputDialog 推荐
- Qt学习之路(15): Qt标准对话框之QFileDialog
- Qt标准对话框之 QFileDialog-15
- Qt标准对话框之QFileDialog
- Qt学习之路(17): Qt标准对话框之QMessageBox