QActionGroup Class

news2024/9/22 6:39:02

Header:#include < QActionGroup >
qmake:QT += widgets
Inherits:QObject

Public Types

此enum指定可用于控制组如何对可检查操作执行排他检查的不同策略。
这个枚举在Qt 5.14中被引入或修改。

enum ExclusionPolicy { None, Exclusive, ExclusiveOptional }
ConstantValueDescription
QActionGroup::None0组中的操作可以彼此独立地进行检查。
QActionGroup::Exclusive1每次只能检查一个操作。这是默认策略。
QActionGroup::ExclusiveOptional2每次最多只能检查一个动作。这些操作也可以是未检查的。

Properties

enabled : bool
exclusionPolicy : QActionGroup::ExclusionPolicy
visible : bool 

Public Functions

QActionGroup(QObject *parent)
virtual ~QActionGroup()
QList<QAction*> actions() const
QAction* addAction(QAction* action)
QAction* addAction(const QString &text)
QAction* addAction(const QIcon &icon, const QString &text)
QAction* checkedAction() const
QActionGroup::ExclusionPolicy exclusionPolicy() const
bool isEnabled() const
bool isExclusive() const
bool isVisible() const
void removeAction(QAction* action)

Public Slots

void setDisabled(bool b)
void setEnabled(bool)
void setExclusionPolicy(QActionGroup::ExclusionPolicy policy)
void setExclusive(bool b)
void setVisible(bool)

Signals

void hovered(QAction* action)
void triggered(QAction* action)

Detailed Description

在某些情况下,将QAction对象分组在一起是有用的。例如,如果您有一个左对齐操作、一个右对齐操作、一个对齐操作和一个居中操作,那么在任何时候,这些操作中应该只有一个是活动的。实现这一目标的一个简单方法是将这些操作分组在一个操作组中。
下面是一个例子(来自菜单示例):

alignmentGroup = new QActionGroup(this);
alignmentGroup->addAction(leftAlignAct);
alignmentGroup->addAction(rightAlignAct);
alignmentGroup->addAction(justifyAct);
alignmentGroup->addAction(centerAct);
leftAlignAct->setChecked(true);
  • 这里我们创建一个新的操作组。由于默认情况下操作组是排他性的,因此每次只检查组中的一个操作。
  • 当QActionGroup的一个操作被选中时,它会发出一个触发器()信号。操作组中的每个操作都会像往常一样发出自己的触发器()信号。
  • 如上所述,默认情况下,操作组是排他性的;它确保在任何时候最多只有一个可检查的操作是活动的。如果你想对可检查的动作进行分组而不使它们具有排他性,你可以通过调用setExclusive(false)关闭排他性。
  • 缺省情况下,不允许检查独占组的活动动作。在某些情况下,允许取消检查所有操作可能是有用的,您可以通过调用setExclusionPolicy(QActionGroup::ExclusionPolicy::ExclusiveOptional)来允许这一点。
  • 可以使用addAction()将操作添加到操作组,但是在创建操作时指定一个组通常更方便;这样可以确保自动创建带有父操作的操作。通过在组中添加分隔符,动作可以在视觉上彼此分离;创建一个动作,并使用QAction的setSeparator()函数将其视为一个分隔符。使用QWidget::addActions()函数将操作组添加到小部件中。
  • See also QAction.

Property Documentation

enabled : bool
	此属性保存操作组是否已启用
	组中的每个操作将被启用或禁用,除非它已被显式禁用。
访问函数:
	bool isEnabled() const
	void setEnabled(bool)
See also QAction::setEnabled().
exclusionPolicy : QActionGroup::ExclusionPolicy
	此属性保存组独占检查策略
	如果exclusionPolicy设置为Exclusive,则操作组中任何时候只能有一个可检查的操作处于活动状态。如果用户在组中选择另一个可检查的操作,则他们选择的操作将变为活动操作,而活动操作将变为非活动操作。如果exclusionPolicy设置为ExclusionOptional,则该组是排他性的,但该组中的活动可检查操作可以被检查,使该组不检查任何操作。
	这个属性是在Qt 5.14中引入的。
访问函数:	
	QActionGroup::ExclusionPolicy exclusionPolicy() const
	void setExclusionPolicy(QActionGroup::ExclusionPolicy policy)
See also QAction::checkable.
visible : bool
	此属性保存操作组是否可见
	动作组中的每个动作都将匹配此组的可见状态,除非它已被显式隐藏。
访问函数:
	bool isVisible() const
	void setVisible(bool)
See also QAction::setEnabled().

Member Function Documentation

QActionGroup::QActionGroup(QObject *parent)
	为父对象构造操作组。
	缺省情况下,动作组为排他性。调用setExclusive(false)使操作组非排他性。要使组独占,但允许取消选中活动操作调用setExclusionPolicy(QActionGroup:: ExclusiveOptional)
[signal] void QActionGroup::hovered(QAction *action)
	当用户突出显示动作组中的给定动作时,发出该信号;例如,当用户将光标停在菜单选项、工具栏按钮或按下操作的快捷键组合时。
	See also QAction::activate().
[slot] void QActionGroup::setDisabled(bool b)
	这是enabled属性的方便函数,对信号槽连接很有用。如果b为true,则动作组被禁用;否则为启用状态。
[slot] void QActionGroup::setExclusive(bool b)
	启用或禁用组排除检查
	这是一个方便的方法,当b为真时调用setExclusionPolicy(ExclusionPolicy::Exclusive),否则调用setExclusionPolicy(QActionGroup::ExclusionPolicy::None)。
	See also isExclusive() and QActionGroup::exclusionPolicy.
[signal] void QActionGroup::triggered(QAction *action)
	该信号在动作组中的给定动作被用户激活时发出;例如,当用户单击菜单选项、工具栏按钮或按下操作的快捷键组合时。
	连接到这个信号进行命令操作。
	See also QAction::activate().
[virtual] QActionGroup::~QActionGroup()
	销毁函数。
QList<QAction *> QActionGroup::actions() const
	返回此组的操作列表。这可能是空的。
QAction *QActionGroup::addAction(QAction *action)
	向该组添加操作,并返回操作。
	通常情况下,将一个操作添加到组中是通过将组作为父组来创建的,因此通常不使用此函数。
	See also QAction::setActionGroup().
QAction *QActionGroup::addAction(const QString &text)
	创建并返回一个带有文本的操作。新创建的操作是此操作组的子操作。
	通常情况下,通过将组作为父组创建操作来将其添加到组中,因此通常不使用此函数。
	See also QAction::setActionGroup().
QAction *QActionGroup::addAction(const QIcon &icon, const QString &text)
	创建并返回一个带有文本和图标的操作。新创建的操作是此操作组的子操作。
	通常情况下,将一个操作添加到组中是通过将组作为父组来创建的,因此通常不使用此函数。
	See also QAction::setActionGroup().
QAction *QActionGroup::checkedAction() const
	返回组中当前选中的操作,如果未选中则返回nullptr
bool QActionGroup::isExclusive() const
	如果组是排他的,则返回true
	当ExclusionPolicy为exclusive或ExclusionOptional时,该组是排他性的。
void QActionGroup::removeAction(QAction *action)
	从该组中删除操作。因此,该操作将没有父操作。
	See also QAction::setActionGroup(). 

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

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

相关文章

某省公共资源交易中心爬虫逆向分析

目标网站 aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0L3NjenQteHEvP3VzZXJJZD02NzM4OTg2MzkyNjA3NzAzMDQmcm93SWQ9NTI1MDYyMDI2ODg0NzE2NTQ0JnRpbWU9MjAwOC0xMS0yNiZjZXJ0aWZpY2F0ZU5vPTkxNDQwOTA0NjgyNDI2MzU4QyZjZXJ0aWZpY2F0ZVR5cGU9Mjg 一、抓包分析 请求头参数加密 二、…

【C语言-数据结构】单链表的定义

单链表的定义&#xff08;实现&#xff09; 比较顺序表和单链表的物理存储结构就能够清楚地发现二者的区别 用代码定义一个单链表 typedef struct LNode{ElemType data; //每个结点存放一个数据元素struct LNode* next; //指针指向下一个结点 }LNode, *LinkList;//要表示一个…

微信CRM系统适合什么企业?

CRM&#xff08;客户关系管理&#xff09;系统适合多种行业和企业&#xff0c;包括但不限于&#xff1a;传统制造业、互联网行业、电商行业、医疗行业、教育行业、交通运输行业、汽车行业、房地产行业、金融行业、银行 CRM的功能覆盖了与客户接触的各个阶段&#xff0c;包括售…

python --PyAibote自动化

官文: https://www.pyaibote.com/ 下载安卓集成环境: 可以看到开发的一些信息

【AI视频】AI虚拟主播制作网站推荐

一、什么是AI虚拟主播&#xff1f; AI虚拟主播是一种利用人工智能技术打造的虚拟主持人&#xff0c;也被称为数字虚拟主持人。它们通常是由人工智能技术和三维建模技术结合而成&#xff0c;可以在各种平台上进行主持工作&#xff0c;如新闻报道、电商直播、综艺娱乐等。 AI虚…

华润电力最新校招社招润择认知能力测评:逻辑推理数字计算语言理解高分攻略

​ 尊敬的求职者们&#xff0c; 在您准备加入华润电力这个大家庭之前&#xff0c;了解其招聘测评的详细流程和要求是至关重要的。以下是我们为您整理的测评系统核心内容&#xff0c;希望对您的求职之旅有所帮助。 测评系统概览 华润电力的招聘测评系统旨在全面评估求职者的认…

【全网最全】2024年华为杯研赛B题成品论文获取入口(后续会更新)

您的点赞收藏是我继续更新的最大动力&#xff01; 一定要点击如下的卡片&#xff0c;那是获取资料的入口&#xff01; 点击链接加入【2024华为杯研赛资料汇总】&#xff1a;https://qm.qq.com/q/hMgWngXvcQhttps://qm.qq.com/q/hMgWngXvcQ你是否在寻找数学建模比赛的突破点&a…

二叉树(二)深度遍历和广度遍历

一、层序遍历 广度优先搜索&#xff1a;使用队列&#xff0c;先进先出 模板&#xff1a; 1、定义返回的result和用于辅助的队列 2、队列初始化&#xff1a; root非空时进队 3、遍历整个队列&#xff1a;大循环while(!que.empty()) 记录每层的size以及装每层结果的变量&a…

Linux基础命令以及常识

镜像站点服务器&#xff08;相当于下载的网址&#xff09;也可叫软件源 vim /etc/apt/sources.list 索引文件(网络服务器在本地的缓存) 服务器软件源在本地列出来一个清单&#xff0c;以便于主机进行查询操作 cd /var/lib/apt/lists/ 下载软件包默认存放路径 cd /var/cache/a…

Linux_openEuler_24.03部署Oracle 19c部署安装实测验证(无图形桌面-RPM模式)

前言&#xff1a; 近期对openeuler有点兴趣&#xff0c;顺带在做个开发数据仓项目&#xff0c;那就正好安装个环境做个调测&#xff0c;做个记录放上来做个备录给到大家参考。 openEuler 24.03 LTS&#xff1a;四大升级&#xff0c; 首个AI原生开源操作系统正式发布 openEuler …

【医疗大数据】基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析

基于 B2B 的医疗保健系统中大数据信息管理的安全和隐私问题分析 1、引言 1-1 医疗大数据的特点 10 V模型&#xff1a;在医疗领域&#xff0c;大数据的特点被描述为10 V&#xff0c;包括价值&#xff08;Value&#xff09;、体量&#xff08;Volume&#xff09;、速度&#xf…

C语言-文件操作-一些我想到的、见到的奇怪的问题

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C语言】 欢迎点赞&#x1f44d;收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下&#xff0c;连续多次调用 fopen() 打开同一个文件&#xff0c;会发生什么&#xff1f;1.1过…

【linux-Day4】linux的基本指令<下>

【linux-Day4】linux的基本指令<下> linux下的基本指令&#x1f4e2;date&#xff1a;显示时间&#x1f4e2;cal&#xff1a;显示公历日历&#x1f4e2;whereis &#xff1a; 查找指令->可执行文件/源代码/帮助手册所在的位置&#x1f4e2;find &#xff1a;在目录中搜…

C++ | Leetcode C++题解之第424题替换后的最长重复字符

题目&#xff1a; 题解&#xff1a; class Solution { public:int characterReplacement(string s, int k) {vector<int> num(26);int n s.length();int maxn 0;int left 0, right 0;while (right < n) {num[s[right] - A];maxn max(maxn, num[s[right] - A]);i…

色彩管理中的Gamma值的理解

目录 广义的Gamma值为什么要将输出和输入做Gamma运算&#xff1f;显示器的Gamma值什么是Gamma值为1.0线性响应?显示器的Gamma值标准是多少?为什么sRGB在Gamma0.45空间&#xff1f;打印机、印刷机Gamma值?印刷机Gamma与显示器的Gamma的比较参考文章 广义的Gamma值 Gamma值的…

YOLOv8改进,YOLOv8替换主干网络为VanillaNet( CVPR 2023 华为提出的全新轻量化架构),大幅度涨点

改进前训练结果: 改进后训练结果: 摘要 基础模型的核心理念是“更多即不同”,这一理念在计算机视觉和自然语言处理领域取得了惊人的成功。然而,变压器模型的优化挑战和固有复杂性呼唤一种向简化转变的范式。在本研究中,引入了VanillaNet,一种拥抱设计优雅的神经网络架构…

Ansible部署与应用基础

由于互联网的快速发展导致产品更新换代速度逐步增长&#xff0c;运维人员每天都要进行大量的维护操作&#xff0c;按照传统方式进行维护使得工作效率低下。这时部署自动化运维就 可以尽可能安全、高效的完成这些工作。 一、Ansible概述 1.什么是Ansible Ansible 是基于 Pytho…

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题

问题&#xff1a; linux 在执行cp的命令的时候&#xff0c;就算是执行 cp -f 也还是会提醒是否要进行替换。 问题原因&#xff1a; 查看别名&#xff0c;alias命令&#xff0c;看到cp的别名为cp -i&#xff0c;那就是说cp本身就是自带覆盖提醒&#xff0c;就算我们加上-f 的…

《机器人SLAM导航核心技术与实战》第1季:第9章_视觉SLAM系统

视频讲解 【第1季】9.第9章_视觉SLAM系统-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法&#xff08;上&#xff09;-视频讲解 【第1季】9.1.第9章_视觉SLAM系统_ORB-SLAM2算法&#xff08;下&#xff09;-视频讲解 【第1季】9.2.第9章_视觉SLAM系统_LSD-SLAM算法…

TikTok提示“Network is out of reach”怎么处理?

当TikTok提示“Network is out of reach”时&#xff0c;意味着应用无法连接到互联网。导致这一问题的常见原因包括网络连接不稳定、地理限制或网络设置与应用不兼容等。解决方法有&#xff1a;拔除手机卡、关闭手机定位服务、切换至稳定的海外IP网络等。使用TikTok专用网络也可…