1、accept()槽函数和reject()槽函数

使用exec()函数实现的模态对话框执行accept()槽,会隐藏这个模态对话框,对应的返回值dialog.exec()==QDialog::Accepted------------>宏值为1

使用exec()函数实现的模态对话框执行reject()槽,会隐藏这个模态对话框,   对应的返回值dialog.exec()==QDialog::Rejected------------>宏值为0

小结:accept()和reject()都可以使对话框隐藏,但是dialog.exec()对应不同的返回值,我们可以通过返回判断是哪个按钮按下的。

2、示例1:

实现,点击一个按钮QDiaog隐藏,主窗口显示,点击另一个按钮,程序直接退出的功能。

//在QDialog ui中的pushbutton中关联一个accept()槽。另一个pushbutton中关联一个reject()槽或者close()槽

int main()
{QApplication a(argc,argv)myWidget w;myDialog dialog;if(dialog.exec()==QDialog::Accepted()){w.show;return  a.exec();}elsereturn 0;//否则退出程序}

2、示例2:

//警告窗口的使用

void MainWindow::ResponseFunc()
{if(flag){MyDialog  dialog;    //自定义的继承QDialog的类dialog.showInfo("未保存");//自定义的函数dialog.exec();  //使主窗口阻塞在这里return ;        //return必须要加上,如果不加return,dialog关闭后还是会执行后面的代码。}qDebug()<<"suceed";return;
}

//自定义的对话框窗口

myDialog::myDialog()
{connect(ui->okButton,SIGNAL(click()),this,SLOT(accept()));
}myDialog::showInfo(QString str)
{ui->myLabel->setText(str);
}

4、return a.exec()和return0的区别

a.exec()使程序在事件循环中,不会退出,而return0则直接退出程序了,效果如下两图所示。

Qt中模态对话框的使用示例及accept()和reject()槽函数的使用相关推荐

  1. Qt中模态对话框和非模态对话框比较

    模态对话框的两种方式 1.窗口模态对话框:只能阻止与对话框关联(它的父窗口.所有祖父窗口,以及父窗口和父窗口的所有兄弟姐妹)的窗口的访问,允许用户在应用程序中继续使用其他窗口. 2.应用模态对话框:阻 ...

  2. qt中模态对话框和非模态对话框

    模态对话框是会阻塞程序窗口的用户操作,必须要关闭后才可以进行后续的执行.而非模态对话框则不会阻塞用户操作,更灵活些,只是要注意设置一个关闭时自动释放内存的属性. QDialog dlg; dlg.se ...

  3. Qt中多个动态创建的按钮同时绑定一个槽函数,判断被点击的是哪个按钮

    当动态创建按钮,每一个创建的按钮都与同一个槽函数绑定,点击按钮的时候获取被点击的按钮的文本. 代码如下: QString getClickedBtn() {outPut<<"ge ...

  4. Qt中的对话框(模态,非模态,关于,问题,文件)

    2019独角兽企业重金招聘Python工程师标准>>> 项目pro中添加 CONFIG += C++11 mianwindow.h文件 #ifndef MAINWINDOW_H #d ...

  5. Qt编程 —— 模态对话框和非模态对话框

    文档声明: 以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正.并且该文档在后期会随着学习的深入不断补充完善.感谢各位的参考查看. 笔记资料仅供学习交流使用,转载请标明出处 ...

  6. 关于Qt中QDialog对话框调用exec()函数界面退出造成僵尸程序问题

    关于Qt中QDialog对话框调用exec函数产生的问题 问题一: 问题描述: 原因分析: 解决方案: 问题二: 问题描述: 求助:关于这个问题,学识尚浅,求大佬分析一波 问题一: QDialog对话 ...

  7. qt设置模态对话框并设置对话框的位置

    引言 当对话框弹出的时候,其它的操作不能进行,这个对话框就是模态对话框,非模态对话框弹出的时候,其它的操作依旧可以做.以上就是通俗的理解模态对话框与非模态对话框.下面实现当模态对话框弹出的时候,设置弹 ...

  8. MFC中模态对话框和非模态对话框的区别

    MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box).二者的区别在于当对话框打开时,是否允许用户进行其他对象的操 ...

  9. Qt中标准对话框实例,QObject::tr()的作用

    函数 tr()全名是QObject::tr(),被它处理的 字符串可以 使用工具提 取出来翻译 成其他语言, 也就是做国际化使用. 只要记住,Qt 的最佳实践:如果你想让你的程序国际化的话,那么,所有 ...

  10. MFC中模态对话框和非模态对话框的差别

    在MFC中有模态对话框和非模态对话框,那这两种有什么差别呢. 又都是用于什么场合呢. 首先,要弄清楚2种对话框是怎样创建的. 然后要弄清楚2种对话框有什么差别,可能从表面上看,模态会堵塞主对话框.可原 ...

最新文章

  1. 图神经网络综述:方法及应用 | Deep Reading
  2. Vue2.0---webpack打包知识点-2
  3. requests发送http请求
  4. SQLServer数据库文件组相关知识笔记
  5. [计算机网络] - DNS基础介绍
  6. Enterprise Library 4.0简介及改进
  7. Java中string中hashcode_Java String中的hashCode实现
  8. 老板最讨厌的10种烂个性
  9. 【“elabsim”高频电子线路实验】得到输出峰峰值幅度为200mV、频率为10.7MHz正弦波信号
  10. 《动手学深度学习》| 2 深度学习基础
  11. mentohust找不到服务器 重启认证,mentohust官方使用说明(全+转)
  12. html5 扩展 cs6,Dreamweaver CS6提高了HTML5工具的效率
  13. 阿里云同步gcr.io的镜像
  14. 计算机网络---广域网及相关协议
  15. 【ELM分类】基于matlab遗传算法优化ELM神经网络数据分类【含Matlab源码 2138期】
  16. 【mysql系列】一键生成mysql文档
  17. 加一行代码,让你的Python的运算速度加快100倍
  18. 易事特拟8600万元投资山东潍坊临朐县光伏扶贫BOT项目
  19. bandzip和360解压_最优秀的压缩/解压缩软件—BandZip
  20. OpenWrt学习总结(2)编译OpenWrt过程中整理的软件包下载网址

热门文章

  1. 前端实现视频或者图片直链下载
  2. 关于nmap和traceroute在虚拟机里使用的问题
  3. QCC3040---FS(file system)中添加文件方法
  4. cppc文件无法正常输出汉字,将文件修改为UTF-8格式
  5. 关于右键无法选择codeblocks打开cpp或c文件
  6. 泡泡龙游戏开发系列教程(五)
  7. RL 参数影响 和 RL 结果分析
  8. mybatiplus的apply_mybatis-plus入门
  9. 剑指Offer——银行考试
  10. SpringBoot使用LibreOffice--office转pdf