热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Qt开发:QtWidgets模块——QActionGroup类

QActionGroup类将动作组合在一起。头文件:#include<QActionGroup>qmake:QT+widgets继承:QObject在

QActionGroup类将动作组合在一起。

头文件:#include

qmake:QT += widgets

继承:QObject

在某些情况下,将QAction对象组合在一起很有用。 例如,如果您有“左对齐”操作,“右对齐”操作,“对齐”操作和“中心”操作,则任何时候这些操作中只有一个应该处于活动状态。 实现这一点的一个简单方法是将行动组合在一个行动组中。

下面是一个例子(来自Menus例子):

  alignmentGroup = new QActionGroup(this);
  alignmentGroup->addAction(leftAlignAct);
  alignmentGroup->addAction(rightAlignAct);
  alignmentGroup->addAction(justifyAct);
  alignmentGroup->addAction(centerAct);
  leftAlignAct->setChecked(true);

在这里我们创建一个新的行动组。 由于默认情况下操作组是独占的,因此在任何时候都只检查组中的一个操作。


QActionGroup在选择其中一个动作时发出触发()信号。 操作组中的每个操作都像往常一样发出其触发的()信号。

如上所述,一个行动组默认是排他性的; 它确保在任何时候只有一个可检查操作处于活动状态。 如果您想将可检查的操作分组而不排除它们,您可以通过调用setExclusive(false)来打开排他性。

可以使用addAction()将操作添加到操作组中,但在创建操作时指定组通常更方便; 这可以确保操作是由父级自动创建的。 通过向组添加分隔符操作,可以在视觉上将操作彼此分开; 创建一个动作并使用QAction的setSeparator()函数将其视为分隔符。 动作组通过QWidget :: addActions()函数添加到窗口小部件。



一、属性

1、enabled : bool

该属性可以确定操作组是否已启用。

除非明确禁用,否则组中的每个操作都将被启用或禁用。

访问函数;

bool isEnabled() const
void setEnabled(bool)


2、exclusive : bool

此属性可以确定操作组是否进行独占检查。

如果排他性为真,则行动组中只有一个可检查的行为可以随时处于活动状态。 如果用户在组中选择另一个可检查操作,则他们选择的操作变为活动状态,并且处于活动状态的操作变为非活动状态。

访问函数;

bool isExclusive() const
void setExclusive(bool)


3、visible : bool

此属性可以确定操作组是否可见。

除非明确隐藏,否则动作组中的每个动作都将与该组的可见状态相匹配。

访问函数;

bool isVisible() const
void setVisible(bool)



二、成员函数

1、QActionGroup::QActionGroup(QObject *parent)

构造父对象的操作组。

该操作组默认是独占的。 调用setExclusive(false)使操作组非独占。


2、QActionGroup::~QActionGroup()

摧毁行动集。


3、QList QActionGroup::actions() const

返回这些组操作的列表。 这可能是空的。


4、QAction *QActionGroup::addAction(QAction *action)

将操作添加到该组中,并将其返回。

通常情况下,通过以该组作为其父项创建一个操作来添加操作,所以通常不会使用此功能。


5、QAction *QActionGroup::addAction(const QString &text)

用文本创建并返回一个动作。 新创建的操作是此操作组的一个子项。

通常情况下,通过将组创建为父组,将操作添加到组中,因此通常不使用此功能。


6、QAction *QActionGroup::addAction(const QIcon &icon, const QString &text)

用文本和图标创建并返回一个动作。 新创建的操作是此操作组的一个子项。

通常情况下,通过以该组作为其父项创建一个操作来添加操作,所以通常不会使用此功能。


7、QAction *QActionGroup::checkedAction() const

返回组中当前检查的操作,如果没有选中,则返回0。


8、[signal] void QActionGroup::hovered(QAction *action)

当用户突出显示动作组中的给定动作时,发出此信号; 例如,当用户将光标悬停在菜单选项,工具栏按钮上或按动作的快捷键组合时。


9、void QActionGroup::removeAction(QAction *action)

从该组中删除操作。 因此,该行为将没有父母。


10、[slot] void QActionGroup::setDisabled(bool b)

这对启用属性来说是一个方便的功能,对于信号 - 插槽连接非常有用。 如果b为真,则操作组被禁用; 否则启用。


11、[signal] void QActionGroup::triggered(QAction *action)

当用户激活动作组中的给定动作时,发出此信号; 例如,当用户点击菜单选项,工具栏按钮或按动作的快捷键组合。

连接到此信号以执行命令操作。


推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
author-avatar
lovely蓝衣13
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有