Qt第十四天 野性酷女 2022-04-05 12:44 436阅读 0赞 ## 标准对话框 ## **QFileDialog文件对话框 QColorDialog颜色对话框 QFontDialog字体对话框 QInputDialog输入对话框 QMessageBox消息框** dialog.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> namespace Ui { class Dialog; } class Dialog : public QDialog { Q_OBJECT public: explicit Dialog(QWidget *parent = nullptr); ~Dialog(); private slots: void on_pushButton_clicked(); void on_pushButton_2_clicked(); void on_pushButton_3_clicked(); void on_pushButton_4_clicked(); void on_pushButton_5_clicked(); void on_pushButton_6_clicked(); void on_pushButton_13_clicked(); void on_pushButton_14_clicked(); void on_pushButton_15_clicked(); void on_pushButton_16_clicked(); void on_pushButton_7_clicked(); void on_pushButton_8_clicked(); void on_pushButton_9_clicked(); void on_pushButton_10_clicked(); void on_pushButton_11_clicked(); void on_pushButton_12_clicked(); void on_pushButton_17_clicked(); private: Ui::Dialog *ui; }; #endif // DIALOG_H dialog.cpp #include "dialog.h" #include "ui_dialog.h" #include<QFileDialog> #include<QColorDialog> #include<QFontDialog> #include<QLineEdit> #include<QInputDialog> #include<QPlainTextEdit> #include<QMessageBox> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); } Dialog::~Dialog() { delete ui; } void Dialog::on_pushButton_clicked()//打开单个文件 { QString curPath=QDir::currentPath(); QString dlgTital="选择一个文件";//设置对话框标题 QString filter="文本文件(*.txt);;图片文件(*.jpg*.gif);;所有文件(*.*)";//设置筛选 QString aFileName=QFileDialog::getOpenFileName(this,dlgTital,curPath,filter); if(!aFileName.isEmpty()) { ui->plainTextEdit->appendPlainText(aFileName); } } void Dialog::on_pushButton_2_clicked()//打开多个文件 { QString curPath=QDir::currentPath(); QString dlgTital="选择多个文件";//设置对话框标题 QString filter="文本文件(*.txt);;图片文件(*.jpg*.gif);;所有文件(*.*)";//设置筛选 QStringList aFileNames=QFileDialog::getOpenFileNames(this,dlgTital,curPath,filter); for(int i=0;i<aFileNames.count();i++) { ui->plainTextEdit->appendPlainText(aFileNames.at(i)); } } void Dialog::on_pushButton_3_clicked()//选择已有目录 { QString curPath=QCoreApplication::applicationDirPath(); QString dlgTital="选择一个目录"; QString selectedDir=QFileDialog::getExistingDirectory(this,dlgTital,curPath,QFileDialog::ShowDirsOnly);//QFileDialog::ShowDirsOnly表示只显示目录 if(!selectedDir.isEmpty()) { ui->plainTextEdit->appendPlainText(selectedDir); } } void Dialog::on_pushButton_4_clicked()//保存文件 { QString curPath=QCoreApplication::applicationDirPath(); QString dlgTital="保存文件"; QString filter= "文本文件(*.txt);;图片文件(*.jpg*.gif);;所有文件(*.*)";//设置筛选 QString aFileName=QFileDialog::getSaveFileName(this,dlgTital,curPath,filter); if(!aFileName.isEmpty()) { ui->plainTextEdit->appendPlainText(aFileName); } } void Dialog::on_pushButton_5_clicked()//选择颜色 { QPalette pal=ui->plainTextEdit->palette();//获取现有的palette QString dlgTital="选择颜色"; QColor iniColor=pal.color(QPalette::Text);//现有文字颜色 QColor color=QColorDialog::getColor(iniColor,this,dlgTital); if(color.isValid()) { pal.setColor(QPalette::Text,color); ui->plainTextEdit->setPalette(pal); } } void Dialog::on_pushButton_6_clicked()//选择字体 { QFont iniFont=ui->plainTextEdit->font(); bool ok=false; QFont font=QFontDialog::getFont(&ok,iniFont); if(ok) { ui->plainTextEdit->setFont(font); } } void Dialog::on_pushButton_13_clicked()//输入字符串 { QString dlgTital="输入文字对话框"; QString txtLabel="请输入文件名"; QString defaultInput="新建文件.txt"; QLineEdit::EchoMode echoMode=QLineEdit::Password;//密码输入 bool ok=false; QString text=QInputDialog::getText(this,dlgTital,txtLabel,echoMode,defaultInput,&ok); if(ok&&!text.isEmpty()) { ui->plainTextEdit->appendPlainText(text); } } void Dialog::on_pushButton_14_clicked()//输入整数 { QString dlgTitle="输入整数对话框"; QString txtLabel="设置字体大小"; int defaultValue=ui->plainTextEdit->font().pointSize(); //现有字体大小 int minValue=6, maxValue=50,stepValue=1;//范围,步长 bool ok=false; int inputValue = QInputDialog::getInt(this, dlgTitle,txtLabel,defaultValue, minValue,maxValue,stepValue,&ok); if (ok) //是否确认输入 { QFont font=ui->plainTextEdit->font(); font.setPointSize(inputValue); ui->plainTextEdit->setFont(font); } } void Dialog::on_pushButton_15_clicked()//输入浮点数 { QString dlgTitle="输入浮点数对话框"; QString txtLabel="输入一个浮点数"; double defaultValue=3.13; double minValue=0, maxValue=10000;//范围 int decimals=2;//小数点位数 bool ok=false; double inputValue = QInputDialog::getDouble(this, dlgTitle,txtLabel,defaultValue, minValue,maxValue,decimals,&ok); if (ok) //确认选择 { QString str=QString::asprintf("输入了一个浮点数:%.2f",inputValue); ui->plainTextEdit->appendPlainText(str); } } void Dialog::on_pushButton_16_clicked()//下拉列表选择 { QStringList items; //ComboBox 列表的内容 items <<"优秀"<<"良好"<<"合格"<<"不合格"; QString dlgTitle="条目选择对话框"; QString txtLabel="请选择级别"; int curIndex=0; //初始选择项 bool editable=false; //ComboBox是否可编辑 bool ok=false; QString text = QInputDialog::getItem(this, dlgTitle,txtLabel,items,curIndex,editable,&ok); if (ok && !text.isEmpty()) ui->plainTextEdit->appendPlainText(text); } void Dialog::on_pushButton_7_clicked()//question { QString dlgTitle="Question消息框"; QString strInfo="文件已被修改,是否保存修改?"; QMessageBox::StandardButton defaultBtn=QMessageBox::NoButton; //缺省按钮 QMessageBox::StandardButton result;//返回选择的按钮 result=QMessageBox::question(this, dlgTitle, strInfo, QMessageBox::Yes|QMessageBox::No |QMessageBox::Cancel,//设置三个按钮 defaultBtn); if (result==QMessageBox::Yes) ui->plainTextEdit->appendPlainText("Question消息框: Yes 被选择"); else if(result==QMessageBox::No) ui->plainTextEdit->appendPlainText("Question消息框: No 被选择"); else if(result==QMessageBox::Cancel) ui->plainTextEdit->appendPlainText("Question消息框: Cancel 被选择"); else ui->plainTextEdit->appendPlainText("Question消息框: 无选择"); } void Dialog::on_pushButton_8_clicked()//information { QString dlgTitle="information消息框"; QString strInfo="文件已经打开,字体大小已设置"; QMessageBox::information(this, dlgTitle, strInfo,QMessageBox::Ok,QMessageBox::NoButton);//缺省按钮 } void Dialog::on_pushButton_9_clicked()//warning { QString dlgTitle="warning 消息框"; QString strInfo="文件内容已经被修改"; QMessageBox::warning(this, dlgTitle, strInfo); } void Dialog::on_pushButton_10_clicked()//critical { QString dlgTitle="critical消息框"; QString strInfo="有不明程序访问网络"; QMessageBox::critical(this, dlgTitle, strInfo); } void Dialog::on_pushButton_11_clicked()//about { QString dlgTitle="about消息框"; QString strInfo="我开发的数据查看软件 V2.11 \n 保留所有版权"; QMessageBox::about(this, dlgTitle, strInfo); } void Dialog::on_pushButton_12_clicked()//aboutQt { QString dlgTitle="aboutQt消息框"; QMessageBox::aboutQt(this, dlgTitle); } void Dialog::on_pushButton_17_clicked()//清空文本框 { ui->plainTextEdit->clear(); } dialog.ui ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoZVJvb2tpZTE_size_16_color_FFFFFF_t_70]运行结果 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoZVJvb2tpZTE_size_16_color_FFFFFF_t_70 1] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoZVJvb2tpZTE_size_16_color_FFFFFF_t_70]: /images/20220405/653ba549f70a41049d99f02ea07f1e57.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RoZVJvb2tpZTE_size_16_color_FFFFFF_t_70 1]: /images/20220405/5c3c5fb7e1634f2db9b32c0209b17349.png
相关 QT第四天(上) SpinBox的使用 include "widget.h" include "ui_widget.h" Widget::Wid 待我称王封你为后i/ 2022年04月13日 14:59/ 0 赞/ 261 阅读
相关 QT第四天(下) 其他数值输入和显示组件 红绿蓝配色 //将所有的Slider的valueChange(int)信号与on_SliderRed_valueChanged(in 比眉伴天荒/ 2022年04月12日 03:10/ 0 赞/ 212 阅读
相关 QT第十天 QFileSystemModel 使用QFileSystemModel作为数据模型,QTreeView,QListView和QTableView为主要组件 在Tree Bertha 。/ 2022年04月11日 11:42/ 0 赞/ 309 阅读
相关 Qt第十五天 自定义对话框及其调用 QWDialogSize的创建 qwdialogsize.h ifndef QWDIALOGSIZE_H define QW 以你之姓@/ 2022年04月08日 12:41/ 0 赞/ 274 阅读
相关 Qt第十一天 QStringListModel的使用 采用QStringListModel作为数据模型,QListView组件作为视图组件 演示了QStringListModel和 痛定思痛。/ 2022年04月08日 09:22/ 0 赞/ 250 阅读
相关 Qt第十四天 标准对话框 QFileDialog文件对话框 QColorDialog颜色对话框 QFontDialog字体对话框 QInputDialog输入对话框 Q 野性酷女/ 2022年04月05日 12:44/ 0 赞/ 437 阅读
相关 Qt第十八天 Graphics View绘图程序实例 \\可以创建矩形,椭圆,圆,三角形,梯形,直线,文字等基本图形项 每个图形项可以被选择,拖动,放缩,旋转 图形项的前置和后 逃离我推掉我的手/ 2022年04月04日 11:47/ 0 赞/ 355 阅读
相关 Qt第十六天’ 坐标变换 坐标平移 坐标旋转 坐标缩放 状态的保存和恢复 widget.h ifndef WIDGET_H define WIDGET 快来打我*/ 2022年04月04日 03:07/ 0 赞/ 271 阅读
相关 Qt第二十四天 绘制动态曲线 ifndef MAINWINDOW_H define MAINWINDOW_H include <QMainWind 迷南。/ 2022年04月02日 13:49/ 0 赞/ 283 阅读
相关 第十四天 今日所得 模块 import from...import... 循环导入 相对导入 绝对导入 软件开发目录规范 模块 模块:是 拼搏现实的明天。/ 2021年11月11日 09:10/ 0 赞/ 340 阅读
还没有评论,来说两句吧...