qmenu qt 关闭,Qt实现点击菜单项后QMenu不关闭功能
Qt实现点击菜单项后QMenu不关闭功能
Qt实现“点击菜单项后QMenu不关闭”功能
题目里的意思说起来有点儿绕嘴。其实是这么个事:在QMenu里添加了很多QAction项,每项都使能了check,就是前面可以加上小勾勾那种。假如要勾上QAction1的小勾勾、勾掉QAction2的小勾勾,按照Qt默认的操作,要先点开QMenu的下拉菜单,点QAction1,这时下拉菜单消失了,需要再点开下来菜单去点QAction2。这就比较麻烦了对不对?这还只是两个QAction,要是搞十几个QAction,就问你烦不烦?我想实现个什么功能呢,就是点开下拉菜单,在我修改小勾勾时候菜单不消失,改完了在下拉菜单之外点一下,这时菜单才消失不见。肿木搞呢?下面来说说方法。
首先从QMenu派生个自己的类,姑且叫MyMenu吧,定义如下图:
action是当前鼠标所在的菜单项对应的QAction,如果鼠标点在QAction上了,我们期望的动作是触发这个QAction,但不让下拉菜单消失,对不对?那么在action不为空的情况下,我们执行action->activate,这样只是点击了QAction而已;而如果action为空,那就说明鼠标在菜单之外,这时就要执行关闭下拉菜单的操作了,于是我们调用基类的方法QMenu::mouseReleaseEvent。我们知道在基类中的处理是关闭下拉菜单,这样就实现了期望的功能。
Qt实现点击菜单项后QMenu不关闭功能相关教程
qmenu qt 关闭,Qt实现点击菜单项后QMenu不关闭功能相关推荐
- 为什么即使调用EnableMenuItem菜单项后,菜单项还处于禁止状态
需要将CFrameWnd:: m_bAutomenuEnable设置为FALSE,如果该数据成员 为TRUE(缺省值),工作框将自动地禁止没有ON_UPDATE_COMMAND_UI或者 ON_COM ...
- qt添加菜单纯代码_QtCreator插件开发(二)——QtCreator菜单和菜单项
QtCreator插件开发(二)--QtCreator菜单和菜单项 一.QtCreator菜单栏简介 1.QtCreator菜单简介 QtCreator菜单栏如下: QtCreator默认菜单包括&q ...
- qt添加菜单纯代码_Qt Creator 插件开发(3):添加菜单项
本章我们将学习如何向 Qt Creator 的菜单栏添加内容.在上一章插件的基础之上,我们将尝试开发一个比较正式的插件--在菜单栏中可以看到,并且可以相应用户动作等. 在我们开始之前,我们先来看看 Q ...
- 【Qt】Qt 开发桌面程序 ( Qt 版本 5.14.2 | 编辑 Qt 桌面按钮控件 | 修改按钮文本 | 为按钮添加点击事件 | 系统调用 | 去掉系统调用命令窗口 )
文章目录 一.添加按钮控件 二.修改按钮文本 三.为按钮添加点击事件 ( 弹出对话框 ) 四.为按钮添加点击事件 ( 打开记事本 ) 五.为按钮添加点击事件 ( 打开计算器 ) 六.去掉系统调用时弹出 ...
- Qt实现Linux下模拟点击界面,如何利用QT实现模拟鼠标点击?
QT入门,windows开发入门选手. 我想利用QT实现一个模拟鼠标点击的功能(Windows平台),具体来说是这样的:首先获取某个特定名称窗口的句柄,然后再模拟单击这个窗口的特定位置,并且要求窗口可 ...
- QT鼠标悬停和点击功能
一.效果展示 二.代码实现 childWidget.h #pragma once #include <QtWidgets/QWidget> #include <QStyleOpti ...
- Qt5.9关闭子窗口时执行特定代码(析构函数、关闭窗口)(setAttribute(Qt::WA_DeleteOnClose)、closeEvent(QCloseEvent* event))
本文主要总结在关闭qt的QWidget子窗口瞬间,执行特定代码.由于主窗口关闭时,会自动执行析构函数,而子窗口关闭时,却不会调用析构函数,进过博主查阅资料,发现有两种方法可以在子窗口关闭时,调用析构函 ...
- Qt的QProgressDialog使用两条总结(去掉帮助和关闭、设置尺寸)
1.去掉界面的"?"和"×": progressDialog->setWindowFlags(Qt::CustomizeWindowHint|Qt::Wi ...
- 【Qt】Qt学习笔记(更新中)
文章目录 0x00 前言 0x01 Qt简介 1.1 Qt是什么 1.2 Qt发展史 1.3 Qt支持的平台 1.4 使用Qt开发的软件 1.5 Qt的优点 1.6 其它 0x02 创建Qt项目 2. ...
最新文章
- events.out.tfevents文件
- C语言实现阿姆斯特朗数armstrong number算法(附完整源码)
- 上云数据分析首选产品Quick BI的可视化之路
- linux串口编程实例_Linux 网络编程——原始套接字实例:发送 UDP 数据包
- Spring Data JPA教程,第一部分: Configuration(翻译)
- 浪潮通信收入_浪潮获2019大数据“星河(Galaxy)”奖
- 小程序 ---- (setData关于赋值对象属性的问题)
- Android实现录屏直播(一)ScreenRecorder的简单分析
- c语言控制单片机38译码器,单片机+38译码器控制的数码管怎么点亮?
- html把中文转成英文,html转换中英文
- 三个三维矢量叉乘公式(拉格朗日矢量公式)推导(非坐标法)
- 提供全套Python教学资源和考试系统,全力打造良心服务
- 阿里云——杭州云栖大会
- Rust FFI 编程 - nix crate
- 金融相关计算机面试题,银行及其他金融企业笔试和面试经验
- 毕业论文使用的卡方检验该如何分析?
- 提示用户更改计算机密码,验证你的Microsoft账户 温馨提示:在个人电脑上更改微软账户密码...
- Python:for循环语句
- Codeforces847M Weather Tomorrow
- 指定的服务器标记为删除,如何解决“指定的服务已被标记为删除”错误