热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

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

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

推荐阅读
author-avatar
mobiledu2502857407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有