专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

CCQt标准Dialog对话框组件应用

  在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种,这里我将总结本人在开发过程中常用到的标准对话框的使用技巧。
  Qt框架下,常用的标准对话框有下面这几种: QMessageBox 提示信息框 QInputDialog 基本输入对话框(文本输入,整数输入,浮点数输入,单选框输入) QFileDialog 文件选择对话框(选择文件,多选文件,保存文件)
  QMessageBox 消息弹窗:  消息对话框用于提示用户,常见的有四种分别是:提示,警告,错误,确认,代码归纳如下所示。 #include "mainwindow.h" #include "ui_mainwindow.h" #include   MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {     ui->setupUi(this); }  MainWindow::~MainWindow() {     delete ui; }  // By : LyShark // https://www.cnblogs.com/lyshark // 弹出各种MessageBox void MainWindow::on_pushButton_clicked() {     QString dlgTitle="消息框";     QString strInfo="文件已被修改,是否保存修改 ?";      QMessageBox::StandardButton defaultBtn = QMessageBox::NoButton; // 缺省按钮     QMessageBox::StandardButton result;                             // 返回选择的按钮      // 弹窗分类 Question information warning critical     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 MainWindow::on_pushButton_2_clicked() {     QString dlgTitle="about 消息框";     QString strInfo="我开发的数据查看软件 V1.0   保留所有版权";     QMessageBox::about(this, dlgTitle, strInfo); }
  QMessageBox 退出事件:  弹窗组件还可以配合QCloseEvent实现事件通知机制,例如当窗体被关闭则提示用户是否关闭窗体。 #include "mainwindow.h" #include "ui_mainwindow.h"  #include  #include   MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {     ui->setupUi(this); }  // 窗口关闭时询问是否退出 void MainWindow::closeEvent(QCloseEvent *event) {    QMessageBox::StandardButton result=QMessageBox::question(this, "确认", "确定要退出本程序吗?",                       QMessageBox::Yes|QMessageBox::No |QMessageBox::Cancel,                       QMessageBox::No);      if (result==QMessageBox::Yes)         event->accept();     else         event->ignore(); }  // By : LyShark // https://www.cnblogs.com/lyshark MainWindow::~MainWindow() {     delete ui; }
  QInputDialog 对话框:  该对话框长用于输入一段特殊的文本,浮点数,或者选择一个列表框中的选项,该功能用于简单的用户交互场景。 #include "mainwindow.h" #include "ui_mainwindow.h"  #include  #include   MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {     ui->setupUi(this); }  MainWindow::~MainWindow() {     delete ui; }  // 文本输入对话框 void MainWindow::on_pushButton_clicked() {     QString dlgTitle="输入文字对话框";     QString txtLabel="请输入文件名";     QString defaultInput="新建文件.txt";     QLineEdit::EchoMode echoMode=QLineEdit::Normal;       // 正常文字输入     // QLineEdit::EchoMode echoMode=QLineEdit::Password;  // 密码输入      bool flag = false;     QString text = QInputDialog::getText(this, dlgTitle,txtLabel, echoMode,defaultInput, &flag);     if (flag && !text.isEmpty())     {         ui->plainTextEdit->appendPlainText(text);     } }  // 整数数值输入对话框 // By : LyShark // https://www.cnblogs.com/lyshark void MainWindow::on_pushButton_2_clicked() {     QString dlgTitle="输入整数对话框";     QString txtLabel="设置字体大小";     int defaultValue=ui->plainTextEdit->font().pointSize();   // 现有字体大小     int minValue=6, maxValue=50, stepValue=1;                 // 范围(步长)     bool flag=false;     int inputValue = QInputDialog::getInt(this, dlgTitle,txtLabel,defaultValue, minValue,maxValue,stepValue,&flag);     if (flag)     {         QFont font=ui->plainTextEdit->font();         font.setPointSize(inputValue);         ui->plainTextEdit->setFont(font);     } }  // 浮点数输入对话框 void MainWindow::on_pushButton_3_clicked() {     QString dlgTitle="输入浮点数对话框";     QString txtLabel="输入一个浮点数";     float defaultValue=3.13;      float minValue=0, maxValue=10000;  // 范围     int decimals=2;                    // 小数点位数      bool flag=false;     float inputValue = QInputDialog::getDouble(this, dlgTitle,txtLabel,defaultValue, minValue,maxValue,decimals,&flag);     if (flag)     {         QString str=QString::asprintf("输入了一个浮点数:%.2f",inputValue);         ui->plainTextEdit->appendPlainText(str);     } }  // 单选框条目选择对话框 void MainWindow::on_pushButton_4_clicked() {     QStringList items;                        // 列表内容     items <<"优秀"<<"良好"<<"合格"<<"不合格";    // 放入列表      QString dlgTitle="条目选择对话框";     QString txtLabel="请选择级别";     int curIndex=0; //初始选择项     bool editable=false;                       // 是否可编辑     bool flag=false;     QString text = QInputDialog::getItem(this, dlgTitle,txtLabel,items,curIndex,editable,&flag);      if (flag && !text.isEmpty())     {         ui->plainTextEdit->appendPlainText(text);     } }
  QFileDialog 对话框:  该对话框用于对文本的操作,例如打开文件,保存文件,选择文件夹等,当点击选择后,对话框会自动提取出文件路径。 #include "mainwindow.h" #include "ui_mainwindow.h"  #include   MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {     ui->setupUi(this); }  MainWindow::~MainWindow() {     delete ui; }  // 选择单个文件对话框 void MainWindow::on_pushButton_clicked() {     QString curPath=QDir::currentPath();                                       // 获取系统当前目录 //  QString  curPath=QCoreApplication::applicationDirPath();                   // 获取应用程序的路径     QString dlgTitle="选择一个文件";                                             // 对话框标题     QString filter="文本文件(*.txt);;图片文件(*.jpg *.gif *.png);;所有文件(*.*)";  // 文件过滤器      QString aFileName=QFileDialog::getOpenFileName(this,dlgTitle,curPath,filter);      if (!aFileName.isEmpty())     {         ui->plainTextEdit->appendPlainText(aFileName);     } }  // 选择多个文件对话框 // By : LyShark // https://www.cnblogs.com/lyshark void MainWindow::on_pushButton_2_clicked() {     // QString curPath=QCoreApplication::applicationDirPath();                // 获取应用程序的路径     QString curPath=QDir::currentPath();                                      // 获取系统当前目录     QString dlgTitle="选择多个文件";                                            // 对话框标题     QString filter="文本文件(*.txt);;图片文件(*.jpg *.gif *.png);;所有文件(*.*)"; // 文件过滤器      QStringList fileList=QFileDialog::getOpenFileNames(this,dlgTitle,curPath,filter);     for (int i=0; iplainTextEdit->appendPlainText(fileList.at(i));     } }  // 选择文件夹 void MainWindow::on_pushButton_3_clicked() {     QString curPath=QCoreApplication::applicationDirPath();    // 获取应用程序的路径     // QString curPath=QDir::currentPath();                    // 获取系统当前目录      // 调用打开文件对话框打开一个文件     QString dlgTitle="选择一个目录";                             // 对话框标题     QString selectedDir=QFileDialog::getExistingDirectory(this,dlgTitle,curPath,QFileDialog::ShowDirsOnly);     if (!selectedDir.isEmpty())     {         ui->plainTextEdit->appendPlainText(selectedDir);     } }  // 保存文件对话框 void MainWindow::on_pushButton_4_clicked() {     QString curPath=QCoreApplication::applicationDirPath();                  // 获取应用程序的路径     QString dlgTitle="保存文件";                                              // 对话框标题     QString filter="文本文件(*.txt);;h文件(*.h);;C++文件(.cpp);;所有文件(*.*)"; // 文件过滤器     QString aFileName=QFileDialog::getSaveFileName(this,dlgTitle,curPath,filter);     if (!aFileName.isEmpty())     {         ui->plainTextEdit->appendPlainText(aFileName);     } }

嫖娼不给钱,还算嫖娼吗?警察还会拘留我吗?打卡挑战局嫖娼不给钱,是否构成嫖娼?A构成B不构成嫖娼不给钱,还构成嫖娼的违法行为吗?如果被公安机关抓获,还会受到治安管理处罚吗?其实很多人都知道,构成嫖娼的两个要点是给付嫖资和发刺杀安倍的山上徹也,是个苦命人,很大可能不会判死刑安倍晋三遇刺案,震惊了整个世界,震惊之余,大家也把目光聚焦在了行刺者山上徹也身上。很快,日本相关媒体,就对这个山上徹也进行了深挖。经过多方面的调查得知,他小时候家庭比较富裕,却有一王冰冰丁真街头卖桃,席地而坐汗直流,每人限购五个两小时全卖光饿了吗?戳右边关注我们,每天给您送上最新出炉的娱乐硬核大餐!7月13日,有知名媒体报道王冰冰丁真在成都街头卖桃,两个小时不到就全卖完了,此事在网络上引发热议。王冰冰和丁真都直接坐在高校科技创新50强重磅出炉!西南石油大学榜上有名,居全国第40近日,2022年度中国高校技术发明贡献50强重磅出炉。该榜单整理了20162020年度国家科技发明奖情况,根据各高校斩获的国家科学技术发明奖一等奖数量二等奖数量进行综合排序。西南石牙痛牙龈出血牙齿敏感怎么做好得快?常见牙病用药指南来了牙痛牙龈出血牙齿敏感,这些常见的牙齿问题,一旦发作,能把人折磨疯!牙痛牙龈出血牙齿敏感怎么做好得快?事实上,牙痛牙龈出血以及牙齿敏感这些问题,想要好的快好得彻底,肯定是需要到正规的袁氏家族袁甲三使袁氏家族进入名门望族(官居一品)1873年袁世凯的生父袁保中病逝(无任官位)1874年袁世凯的嗣父袁保庆病逝(官居二品)1878年袁世凯的堂叔袁保恒病逝(一品顶戴赏,仅次于医药板块5天跌8,医药集采,灵魂砍价,巨大利空并不存在第7批的医保集采是公开了结果,中标药品价格平均下降了48,未来每年将节省185亿元。对于国家医保和对于患者这都是一个大好消息,但是对于投资者这却是一个巨大的利空消息。上周三,中证医网红干饭公司闹翻,上演宫心计,今天的续集又说了什么?抖音网红账号我不想吃饭,因为轻松愉快的游戏风格,赢得了大量粉丝的喜爱,粉丝量一度接近千万。今年5月份,经过成员宫城与老板饭总的第一波对决,账号元气大伤,掉粉百万。昨天,饭总在主账号目标提高10!装配式建筑迎政策利好,多省相继提出目标,最高占比达到95(附股)数据是个宝数据宝炒股少烦恼两部委要求到2030年装配式建筑占比达到40,相比年初目标,占新建建筑比例提高了10。到2030年装配式建筑占比达到407月13日,住建部国家发改委发布关9天7市报告奥密克戎BA。5变异株!多地调整核酸检测政策7月5日以来,奥密克戎BA。5变异株及分支在西安上海北京天津等地陆续检出。健康时报梳理,截至到7月13日,9天内已有7地报告奥密克戎BA。5变异株。曹子豪摄9天已有7地报告奥密克戎深海之息特效曝光开大巨龙盘旋,传说动作双形态,15号正式开售大家好我是可达鸭,突如其来的马可波罗新传说深海之息,特效爆料终于来了,作为最高水准的直售品质,深海之息具备完全独立于英雄其他皮肤的专属动作和回城,并且这套专属动作会根据敌人的分布来
当你敢跟以下三人翻脸,你反而会越活越好文夏莫01卷首语马丁赛利格曼写道面对周遭那些容易带给别人负能量的人,如果你不是一个心理医生,不能有强大的心智去消化别人的负能量,那么默默远离和屏蔽,应该是最好的选择。人生路上,与谁穷人要忘记过去,否则就永世为奴穷人要改掉什么恶习才能向富人靠拢?拥有1个亿的人,在拥有500个亿的人面前他是穷人。那么拥有500个亿的人,在拥有2000个亿的人面前他是穷人。拥有2000个亿的人,在比尔盖茨面前马斯克封禁西方精英推号,欧盟警告,其儿子被蒙面人跟踪马斯克和一群记者在社媒上连线,他告知推特封禁规则同样适用于记者,他们没有特权。随后,之前在推上挂着调查记者名号的一群人就被封号了。可以说丝毫没有给这些打着言论自由的记者面子。除了记同比增长36。6!潍坊港这项业务做大做强近日,随着外贸船华韵1在山东港口潍坊港西作业区顺利靠泊作业,潍坊港本年度外贸脱硫石膏吞吐量已突破53。6万吨,同比增长36。6,创开港以来历史新高。脱硫石膏既是生产石膏板的原材料之四年没怎么打比赛也不退役,就这样挂职在国乒?因为能创收?职业运动员不夺冠,是很难获得曝光率的,更何况连比赛都不怎么打的人。像张继科这种,四年了都不怎么打比赛,但一直挂职在国乒。对于自己不怎么打比赛的事情,张继科是直言不讳,实话实说。之前信宜税务税惠动力添底气助企发展增活力今年以来,信宜税务持续落实落细税费优惠政策,利用税收大数据,精准锚定符合留抵退税政策条件的市场主体,当好企业的税务顾问,第一时间将税收政策红利送上门,助力企业在当前经营压力下突破重惠民农商银行促进五力新提升着力打造五大家园大众网海报新闻记者段峰通讯员李竹青孙萌茜滨州报道惠民农商银行孙武支行党支部坚持以员工为中心的管理理念,创新五力工作思路,着力打造五大家园,凝聚员工干事创业的决心与信心。截至11月末俞灏明疑似涉及感情纠纷,网友发文怒斥,心疼好姐妹受委屈娱乐圈这几年因为私生活问题而塌房的明星艺人简直不要太多,如今能称得上德艺双馨的艺人真的是弥足珍贵。12月16日,昵称为毛小姐Mina的网友发出针对俞灏明的一段话,令不少网友感叹俞灏2022年12月15号羊了(2岁宝宝老人成人)坐标河南许昌人口一老人(57)一宝宝(2岁)我我爱人2022年12月15号凌晨四点左右,宝宝来回翻滚,我摸了摸孩子额头发热,第一时间没有想到(新冠)因为宝宝两天没有拉臭臭了,第一个昆山片玉景德镇探秘千年瓷都的前世今生近年来,国潮逐渐成为服装市集文创宣传海报等领域的主流。借周董的一句话华流才是最酷的,所以我们一直在寻找江浙沪周边既传统又国潮的城市。当听到音响里传来的天青色等烟雨,而我在等你炊烟袅海南三亚旅游,这3个景点必打卡,吹吹海风太爽了去海南旅游,很多人会选择三亚。三亚是我国唯一的热带海滨城市,位于海南岛的最南端,素有东方夏威夷之称,是一个新兴的旅游城市。来海南旅游的朋友如果要去海边玩的话,我给大家推荐三亚湾蜈支
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软件