对话框判断按下了‘确认键’还是‘取消键’

1、利用exec()返回值

需要分清用户按下“OK”还是“Cancel”。对话框可以通过调用accept()或reject()槽来被关闭,并且exec()将返回适当的Accepted或Rejected。

1. 例1

 //按下的是Cancel键
 if(fileDialog->exec()==QFileDialog::Rejected)
 {
      qDebug("取消");
 }
 //按下的是OK键
 else if(fileDialog->exec()==QFileDialog::Accepted)
 {
      qDebug("确认");
 }

但是这样“确认键”需要连续按下两次才能接收到,应该是调用了两次exec()的原因。

2. 例2

然后改成了这样:


    if(fileDialog->exec()==QFileDialog::Accepted)
    {
        qDebug("OK");
    }
    else
    {
        qDebug("Cancel");
    }

2、利用信号accepted()rejected()

//ok
 connect(fileDialog,SIGNAL(accepted()),this,SLOT(close()));
//Cancel
 connect(fileDialog,SIGNAL(rejected()),this,SLOT(close()));

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-30 11:14:08

对话框判断按下了‘确认键’还是‘取消键’的相关文章

(转)AIX下镜像制作与取消,更换硬盘问题

AIX下镜像制作与取消,更换硬盘问题 ROOTVG做镜像问题: 下面命令全部在AIX5.4上运行通过 # lspv hdisk0      000a1ddc7f36a2f0      rootvg      active hdisk1      none                            None         #chdev -l hdisk1 -a pv=clear #chdev -l hdisk1 -a pv=yes hdisk1 changed # lspv hdis

判断目录下的文件是否为图片

ASP.NET MVC应用程序的UploadFiles目录,是存放用户上传的文件,当然包括图片.现在开发的要求是,显示所有用户上传图片作为列表,呈现给用户. 如果直接去显示,也许某些文件不是图片文件.还有可能是用户上传时,更改了扩展名.真实不是图片的,改为了图片相关的扩展名.即是说,现在要做的是过滤出真正的图片文件出来. 在应用程序的Utilities目录中,创建一个ImageUtility的类别: 有两个函数,第一个public static string Base64String(strin

是否同时按下了 Ctrl 和 Shift 键

//不少鼠标与键盘事件用到了集合参数: Shift: TShiftState;TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble, ssTouch, ssPen); {判断是否按下了 Ctrl 键: 方法一}procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin 

[转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

[From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952771 我的理解是,如果出现如题所描述的问题,这是因为使用了不同的shell程序和对应的stty设置对应关系所综合作用的结果. 这是/bin/sh里面stty -a命令输出的信息: $ stty -a speed 38400 baud; rows 43; columns 209; line = 0;

linux下鼠标穿透和取消穿透--linux小白,大神无视

最近在用qt写一个跨平台的软件,因为设置了无边框,并且我自己给程序窗口加了阴影,阴影范围又比较大 所以必须给阴影区域加上鼠标穿透才能有更好的体验. 上网查了一下,在windows下使用SetWindowLong就行 在linux下的搜了好久也找到了一个方法 就是XShapeCombineRectangles(QX11Info::display(), winId(), ShapeInput, 0,0, NULL, 0, ShapeSet, YXBanded);(需要#include <X11/ex

Python3判断shell下进程是否存在&amp;&amp;启动&amp;&amp;邮件通知

判断进程是否存在 def isRunning(process_name): try: process = len(os.popen('ps aux | grep "' + process_name + '" | grep -v grep').readlines()) if process >= 1: return True else: return False except: print("Check process ERROR!!!") return Fal

jquery checkbox 复选框多次点击判断选中状态,以及全选/取消的代码示例

2015年12月21日 10:52:51 星期一 目标, 点击当前的checbox, 判断点击后当前checkbox是否是选中状态. html: <input type="checkbox" onclick="contracts_checkall()" id="contracts_checkall"> 全选 js: 1 var checkall = $("#contracts_checkall").attr('ch

android 判断切换后台 判断按下home键

写这个博客不是为了实现监听home键,而是判断切换后台 ,说过不写一些没意思的博客,监听home键 或者屏蔽home键的方法,请百度. 我这个篇博客只是想写两种状态的判断: 1.应用切换到后台的监听或者说是判断. 2.应用切换到后台后重新打开的监听判断. 那么,问题来了,假如你的公司有个需求:在app每次切换到后台之后,判断当前跟一个建立socket连接的服务器是否断开. 卧槽,你们城里人需求真多,好烦,这个好难实现. 解决方案大概有两种方案,应用后台后重新开的的时候走了那些方法,这个看下act

js 判断屏幕下拉上滑操作

var startX = startY = endX = endY = 0; var body = document.getElementById("dind"); body.addEventListener('touchstart', function(event){ var touch = event.targetTouches[0]; //滑动起点的坐标 startX = touch.pageX; startY = touch.pageY; // console.log(&quo