QAction的使用

news/2025/9/29 11:40:42/文章来源:https://www.cnblogs.com/shi-yue/p/19118437

QAction

配合 QMenu 使用

可以通过 AddAction 加入 QMenu

   auto action = new QAction("Test");action->setCheckable(true);auto menu = new QMenu(this);menu->addAction(action);setContextMenuPolicy(Qt::CustomContextMenu);connect(this, &MainWindow::customContextMenuRequested, this,[=](const QPoint &pos){auto globalPos = this->mapToGlobal(pos);menu->exec(globalPos);});connect(action, &QAction::toggled, this, [](){qDebug() << "Test Action toggled";});connect(action, &QAction::triggered, this, [](){qDebug() << "Test Action triggered";});
  • QAction::toggled信号只有当QActio::isChecked()状态变化时才会触发。

单个 QAction 对应多个控件

如下所示,菜单栏,右键菜单以及 QToolButton 共同使用同一个 action ,在需要多个按钮相同功能时,并且需要状态同步时,可以使用 QAction 统一管理

    auto action = new QAction("Test");action->setCheckable(true);auto menu = new QMenu(this);menu->addAction(action);ui->menu->addAction(action);ui->toolButton->setDefaultAction(action);setContextMenuPolicy(Qt::CustomContextMenu);connect(this, &MainWindow::customContextMenuRequested, this,[=](const QPoint &pos){auto globalPos = this->mapToGlobal(pos);menu->exec(globalPos);});connect(action, &QAction::toggled, this, [](){qDebug() << "Test Action";});
  • isChecked()、 isVisible(), 以及 isEnabled() 状态会自动同步
  • setText、setIconText,会自动更新到按钮上。

注意

QAction并不是一个QWidget

  • menu->addAction(action);, 会将 menu,加入 associatedObjects 中。
  • QToolBar::addAction, 会创建一个 QToolButton , 加入 associatedObjects 中,由QToolButton负责实际显示样式,QAction 主要负责显示状态的同步,以及触发动作等。
  • Qt6 之前可以使用 associatedWidgets

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/921768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gitee:中国开发者生态的数字化转型加速器

Gitee:中国开发者生态的数字化转型加速器 在数字化转型浪潮席卷全球的当下,中国开发者正迎来前所未有的机遇与挑战。作为本土领先的代码托管平台,Gitee凭借其独特的本土化优势、全流程工具链和坚实的安全架构,正在…

flow.tcl

setenv NETLIST_VER VHDL0113_1353 ##setenv NETLIST_VER VHDL1224_1501source ../scr/init.tcl##global clearGlobalNets globalNetConnect VCC1V8 -type pgpin -pin VDD -all -override -verbose -netlistOverride …

大模型提示词技巧Prompt Engineering,看这一篇就够了 - 知乎

让模型听话,按照要求思考,关键就在Prompt。 前言 你在写prompt时候,是不是总觉得大模型它不听话。要么答非所问、要么一堆废话。扒开思考过程仔细阅读时而觉得它聪明绝顶,时而又觉得它愚蠢至极。明明已经对了怎么又…

Pandawiki接入飞书机器人全攻略:打造企业智能问答新体验

Pandawiki接入飞书机器人全攻略:打造企业智能问答新体验在数字化办公日益普及的今天,企业对于高效沟通和知识管理的需求愈发迫切。Pandawiki作为一款强大的智能知识库系统,通过接入飞书机器人,能够为企业带来前所未…

8月4号建设部网站创保网app下载

2011-09-01 17:35 2人阅读 评论(0) 收藏 编辑 删除 今天有个工作是导出一个函数给脚本用 我自已先要测一下 先要客户端发送一个消息给服务器 看了下C部分的代码,如下 "def onNetMessage(self,playerID, msgName,msgParam):\n" //客户端调用服务器脚本 " …

常见的网站空间有哪些上市公司查询网站

参考&#xff1a; Goroutine 究竟可以开多少&#xff1f; 一、先说结论&#xff1a; 能开多少个协程&#xff0c;取决于单个协程处理方法所占用的CPU和内存资源&#xff08;也就是看你计算机运行的应用程序的具体代码逻辑&#xff09;。 二、具体来说&#xff1a; 如果是C…

sg.测试 PySimpleGUI 取值方法

改进后的代码和注释 import PySimpleGUI as sglayout = [[sg.T(测试 PySimpleGUI 取值方法)],[sg.T(输入:), sg.I(key=-A-, size=33)],[sg.B(好的), sg.B(取消)],[sg.Output(key=-OUT-, size=(39, 10))], ]window = s…

剥开参数看本质:2025 年手机性能与处理器深度解析 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

WPF 深入系列.2.布局体系.布局控件.StackPanel

WPF 深入系列.2.布局体系.布局控件.StackPanelpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &q…

HT-SBTC-2-10L 是成都恒利泰推出的 5–1000 MHz

HT-SBTC-2-10L 是成都恒利泰推出的 5–1000 MHzHT-SBTC-2-10L 是成都恒利泰推出的 5–1000 MHz 表贴一分二功分器,插损仅 1.3 dB,可原位替换 MINI SBTC-2-10L,价格低、交期短,无需改板。已批量用于 5G 小基站、直放…

Gitee DevOps:本土化基因驱动中国企业研发效能革命

Gitee DevOps:本土化基因驱动中国企业研发效能革命 在全球数字化转型加速的背景下,软件开发效率已成为决定企业生死存亡的关键因素。Gitee DevOps作为国内研发管理领域的标杆平台,凭借其深刻的本土化理解和全链路自…

广东外贸型网站建设建设网站以什么为导向

一、通过which命令查找 $ which nginx /usr/sbin/nginxwhich命令会在系统环境变量PATH中查找nginx可执行文件&#xff0c;并返回路径。因此&#xff0c;通过which命令可以很容易地找到系统中nginx的安装位置。 二、通过whereis命令查找 $ whereis nginx nginx: /usr/sbin/ng…

快速查看Navicat数据库连接密码实战

1、导出密码:2、解密: 解密地址 3、解密成功,验证:

华为发布开源超节点架构,以开放战略叩响AI算力生态变局 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

老旧系统接入统一认证

前言 为提高人员效率,近期为已有的一些业务系统接入了统一认证,这些系统的技术栈都非常老,主要包括 C/S 架构以及一小部分 B/S 架构的。统一认证系统开放了基于 HTTP 的接口,业务系统通过与接口交互实现统一认证登…

每周读书与学习-初识JMeter 元件(三)

每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 1、取样器 在Jmeter中,…

Playwright MCP浏览器自动化全攻略

让AI理解你的指令,自动操作浏览器完成复杂任务 在AI技术飞速发展的今天,传统浏览器自动化工具仍然需要编写复杂代码的时代正在过去。Playwright MCP的出现,彻底改变了这一局面,让通过自然语言控制浏览器成为现实。…

杭州医疗器械网站制作网站名称没有排名

经常会有朋友在Q上询问关于系统方面的问题&#xff0c;多半都与安装方法有关&#xff0c;因此经常需要判断电脑上的Windows启动方式是什么&#xff0c;是UEFI还是BIOS呢&#xff1f;为了方便后来人查看&#xff0c;这里豆豆总结三个方法&#xff1a;最装X方法&#xff1a;在安装…

【IEEE出版、连续3届稳定EI检索】第四届能源互联网及电力系统国际学术会议(ICEIPS 2025)

IEEE出版 第四届能源互联网及电力系统国际学术会议(ICEIPS 2025) 2025 4th International Conference on Energy Internet and Power Systems 在这里看会议官网详情 截稿时间:见官网 会议时间:2025年10月30-11月2日…

大内容 Python动漫信息管理系统 Django+Echarts 类型饼图 折线图分析 后台管理 智能推荐(源码)✅

大内容 Python动漫信息管理系统 Django+Echarts 类型饼图 折线图分析 后台管理 智能推荐(源码)✅pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block …