QActionGroup 类

QActionGroup 类将操作组合在一起。 更多...

头文件 #include <QActionGroup>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui
Qt 6.0
继承 QObject

公共类型

枚举类型ExclusionPolicy { None, Exclusive, ExclusiveOptional }

属性

公共函数

QActionGroup(QObject *parent)
虚拟~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::ExclusionPolicyexclusionPolicy() const
boolisEnabled() const
boolisExclusive() const
boolisVisible() const
voidremoveAction(QAction *action)

公共槽

voidsetDisabled(bool b)
voidsetEnabled(bool)
voidsetExclusionPolicy(QActionGroup::ExclusionPolicy policy)
voidsetExclusive(bool b)
voidsetVisible(bool)

详细描述

QActionGroup 是用于将继承自 QAction 的对象组合在一起的基类。

在某些情况下,将 QAction 对象组合在一起是很有用的。例如,如果有“左对齐”操作、一个“右对齐”操作、一个“靠齐”操作和一个“居中”操作,那么在任何时候只有一个这些操作应该处于活动状态。实现此功能的一种简单方法是将操作分组到动作组中,并从 QActionGroup 继承。

另请参阅 QAction

成员类型文档

枚举类型 QActionGroup::ExclusionPolicy

此枚举指定了可以用于控制组如何独立于其他动作执行排他性检查的各个策略。

常量描述
QActionGroup::ExclusionPolicy::None0组中的动作可以独立检查。
QActionGroup::ExclusionPolicy::Exclusive1在任何时候只能检查一个动作。这是默认策略。
QActionGroup::ExclusionPolicy::ExclusiveOptional2在任何时候最多只能检查一个动作。动作也可以全部不检查。

另请参阅 exclusionPolicy

属性文档

enabled : bool

此属性表示动作组是否启用

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

访问函数

boolisEnabled() const
voidsetEnabled(bool)

另请参阅 QAction::setEnabled

exclusionPolicy : QActionGroup::ExclusionPolicy

此属性表示组的排他性检查策略

如果将 exclusionPolicy 设置为 Exclusive,则动作组中只能有一个可检查的动作在任何时候处于活动状态。如果用户选择了组中的另一个可检查的动作,则他们选择的活动动作变为活动状态,之前活动的动作变为非活动状态。如果 exclusionPolicy 设置为 ExclusionOptional,则组是排他的,但活跃的可检查动作可以在组中取消勾选,从而使得组中没有任何动作被勾选。

访问函数

QActionGroup::ExclusionPolicyexclusionPolicy() const
voidsetExclusionPolicy(QActionGroup::ExclusionPolicy policy)

另请参阅 QAction::checkable

visible : bool

此属性表示动作组是否可见

除非明确隐藏,否则动作组中的每个动作都将符合此组的可见状态。

访问函数

boolisVisible() const
voidsetVisible(bool)

另请参阅 QAction::setEnabled

成员函数文档

[显式] QActionGroup::QActionGroup(QObject *parent)

parent 对象构建动作组。

动作组默认为排他性。要通过调用 setExclusive(false) 使动作组非排他性。要使组排他性但允许取消检查活动动作,请改用 setExclusionPolicy(QActionGroup::ExclusionPolicy::ExclusiveOptional)

[虚拟 noexcept] QActionGroup::~QActionGroup()

销毁动作组。

QList<QAction *> QActionGroup::actions() const

返回此组动作的列表。这可能为空。

QAction *QActionGroup::addAction(QAction *action)

action 添加到本组,并返回它。

通常,通过以组为其父对象来创建动作,将其添加到组中,因此此函数通常不使用。

另请参阅 QAction::setActionGroup().

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

创建并返回具有 text 的动作。新创建的动作是该动作组的子对象。

通常,通过以组为其父对象来创建动作,将其添加到组中,因此此函数通常不使用。

另请参阅 QAction::setActionGroup().

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

创建并返回具有 texticon 的动作。新创建的动作是该动作组的子对象。

通常,通过以组为其父对象来创建动作,将其添加到组中,因此此函数通常不使用。

另请参阅 QAction::setActionGroup().

QAction *QActionGroup::checkedAction() const

返回组中当前选中的动作,如果没有动作被选中,则返回 nullptr

bool QActionGroup::isExclusive() const

如果组是互斥的,则返回 true。

如果 ExclusionPolicy 是Exclusive或ExclusionOptional,则组是互斥的。

void QActionGroup::removeAction(QAction *action)

从该组中删除 action。结果,该动作将没有父对象。

另请参阅 QAction::setActionGroup().

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

这是对 enabled 属性的一个便利函数,对信号-槽连接很有用。如果 b 为 true,则禁用动作组;否则启用。

[slot] void QActionGroup::setExclusive(bool b)

启用或禁用组排除检查。

这是一个便利方法,当 b 为 true 时调用 setExclusionPolicy(ExclusionPolicy::Exclusive),否则 setExclusionPolicy(QActionGroup::ExclusionPolicy::None)。

另请参阅 isExclusive() 和 QActionGroup::exclusionPolicy.

© 2024 Qt 公司有限公司。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的《GNU 自由文档许可协议版本 1.3` 授权。Qt 和相关徽标是芬兰的 Qt 公司和/或其他国家的商标。所有其他商标均为其各自所有者所有。