范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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);     } }

梦幻的新疆新疆是一本大书,以天山为书脊翻开,昆仑山写满数千年的神话,塔里木河绵延的是故事线索,星罗棋布的绿洲是镶嵌的文明密码。这里汇聚了除了海洋以外的几乎所有的地质地貌,多元一体,是世人见到2018年普吉岛沉船事故47名中国游客丧生,一家五口仅剩一人普吉岛沉船事故文瞭望LW前言2018年7月5日下午17点45左右,两艘载有127名中国游客船只返回普吉岛途中,突遇特大暴风雨,分别在珊瑚岛和梅通岛发生倾覆。该沉船事故所造成的中国游名副其实的长江第一湾,从此长江一路向东,成了中华民族的父亲河黄河自青藏高原奔流而下,因为遇到了阿尼玛卿山的阻挡,所以拐下了第一道大弯,金沙江是长江的上游,依然是从青藏高原奔流而下,在丽江的石鼓镇拐下了父亲河的第一道大弯。大江大河所拐出的大弯2022。2。1,阴,小雨昨晚虽然睡得很迟,但习惯了早起,六点就睡不着了,起床洗漱完毕,已经是七点半了,决定下楼到塔子山公园走一趟。外面淅淅沥沥地下起了小雨,远处濛濛笼笼,如烟似雾。公园里隅尔遇见一两个晨炼欧洲行日记时尚浪漫之都巴黎和美丽的赛纳河我是女人,所以,当提到巴黎时,我最先想到的是巴黎时装和巴黎的化妆品。巴黎是继纽约,伦敦和东京之后的世界第四大国际大都市,也有的说它是世界第一大都市。巴黎还被称为时尚之都,浪漫之都。遇间播报广东周边度假好去处惠林庄园,远离都市的隐世秘境生活需适当放慢脚步重新邂逅蓬勃的自己陶冶在绿野仙踪的美好置身在温暖的温泉怀抱里寻觅到了向往中的生活今天给大家推荐广东周边游的度假好去处惠州惠州庄园,一起来看下这里的游玩攻略吧它最大什么车能够挑战冰雪迷宫和千里极寒?不同于以往的冰雪试驾,千里极寒挑战的难度一重接一重。(微信公号CNWAUTO)从长白山向西北方向600多公里,是吉林省另一个极具人气的风景所在。尽管天寒地冻,一路所见是千里冰封,万斑斓的小城二连浩特(散文)二连浩特是位于内蒙古正北的一个边境小城。去二连浩特看看不是一天两天的梦想。但是,真正决定动身的是上火车前的两个小时。进入九月份以来,我一直拿不定主意十一去西安还是去二连浩特。九月二申请美国签证,银行存款不佳,能从其他地方凑足吗?实操经验分享10年美国签证,相信绝大多数出过国的伙伴们,都想拥有,这里面我就不想累赘10年美签为啥好,也不跟部分人去抬杠,老胡就简单给大家列举几个理由10年美国签证含金量高的理由1可以免签去4网友评出国内最安逸的避寒城市,看看你去过几个冬天,有人想玩雪便一路向北,也有人想找个四季如春的地方安逸过冬,临近春节,天气也愈发寒冷,国内很多城市最低温度已经到了零下10度。这个季节北方外面冷,南方家里冷,小豆挑选了几个国内只出不进,却不干涸?长白山天池的水靠什么支撑?世界之大,无奇不有。而所有奇怪的景象对于生物都有着莫名的吸引力,尤其是像人类这种高等生物。我们也正是在解决了一个又一个奇怪的现象后,不断进步的。而在一系列奇怪的现象中,又有许多形成
李小冉气质不一般,随便一穿就美得惊艳脱俗,刘涛马苏也成绿叶女人到了五十岁,各方面条件都开始变差,包括但不限于长相身材等。只有对自我要求严格,高度自律的女人,才能在五十这个关口,依然散发出女性的魅力。气质女神李小冉出席活动,年近50岁的她,裤子别总穿九分裤,今年流行这3条裤子,显高显瘦,谁穿谁美正如梭罗所说每个人都嘲笑陈旧的时尚,却虔诚地追求新的时尚。在裤子的大潮流更替下,九分裤已经沦为前者,属于陈旧的时尚,过去式。不再像以前那般被追捧的九分裤下线了,自然是有替代品的出现有一次记者问倪妮听说好多人馋你的身子,你怎么看?小丽是我的好闺蜜,跟我一个村,从小玩到大。要说长相,我能有8分,她最多5分,就这我还是看面子打的分,不能再多了。但小丽后来去了南方打工,几年后回来,我差点儿认不出来。波浪形的头发,古驰更新风格华丽复古文艺范儿转向简洁风记者陈奇锐编辑楼婍沁除了色调昏暗迷幻的灯光,人们在古驰秀场上再也难找AlessandroMichele的印记。2022年11月,执掌古驰创意总监职位长达七年之久的Alessandr首批口碑接近满分,一加新机为何如此受欢迎?真实评价给出答案作为今年的第一款骁龙8Gen2旗舰,一加11上市后取得了相当不错的销售成绩,甚至比所有骁龙8Gen2的首销成绩都好。不止如此,一加11在京东官网都取得了98以上的好评,天猫评分4。降息,除了房地产,金价和两个金股值得关注很快要过年了,刚好今天去了市场帮助家里看买给长辈的东西,看到大家在讲金价,所以顺便帮忙分析了一下,希望顺便分享给大家BarrickGoldBarrickGold总部位于安大略省多伦自然教会了孩子什么两个寄教于乐的儿童公园WEi养育一个亲近自然的孩子就是养育一个叛逆者梦想家创新者一个走自己生命之路的人妮可莱特索德1深圳坪山儿童公园WEiStudioInsideaLitchiforestinShenz揪出血栓病根儿,六味中药疏通全身经络我们都知道血管一旦堵塞了,可能导致心肌梗死,脑供血不足,心绞痛,脑梗死,肢体麻木疼痛,甚至坏死。今天就和大家聊一聊治疗心脑血管及补气通血脉的问题。今天要说的这个秘方作用就是逼出血中连续两个季度盈利,天目湖预计去年净利润至少1000万元江苏天目湖旅游股份有限公司。1月15日,江苏天目湖旅游股份有限公司(天目湖,603136。SH)发布2022年年度业绩预告。天目湖预计2022年年度实现归属于母公司所有者的净利润1这些都是人穷的标志,太真实了导语人穷无非就是懒,或者在一些环境,不接受新的知识去改变,或者思想不变通。没有接受新的机会,新的学习能力,看到机会也不敢去尝试,害怕失败。很多的只会抱有幻想,有思想,却没行动。穷人新解说小姐姐看着JKL长大!icon和天灰灰矛盾持续升级1。icon和天灰灰矛盾持续升级前两天icon和天灰灰在峡谷排位时爆发冲突,两人互相嘲讽对骂。事后,天灰灰猛扒icon黑料,嘲讽icon是细狗。而icon则出面怒怼天灰灰,问其敢不