命令类

class Core::Command

命令类表示一个操作,例如菜单项、工具按钮或快捷键。更多...

头文件 #include <coreplugin/actionmanager/command.h>
继承 QObject

公共类型

枚举命令属性 { CA_UpdateText, CA_UpdateIcon, CA_Hide, CA_NonConfigurable }
标志命令属性

公共函数

QAction *action() const
voidaugmentActionWithShortcutToolTip(QAction *a) const
Core::Contextcontext() const
QList<QKeySequence>defaultKeySequences() const
QStringdescription() const
boolhasAttribute(Core::Command::CommandAttribute attribute) const
boolisActive() const
boolisScriptable() const
QKeySequencekeySequence() const
QList<QKeySequence>keySequences() const
voidremoveAttribute(Core::Command::CommandAttribute attribute)
voidsetAttribute(Core::Command::CommandAttribute attribute)
voidsetDefaultKeySequence(const QKeySequence &key)
voidsetDefaultKeySequences(const QList<QKeySequence> &keys)
voidsetDescription(const QString &text)
voidsetTouchBarIcon(const QIcon &icon)
voidsetTouchBarText(const QString &text)
QStringstringWithAppendedShortcut(const QString &string) const
QIcontouchBarIcon() const
QStringtouchBarText() const

信号

静态公共成员

QAction *createActionWithShortcutToolTip(Utils::Id commandId, QObject *parent)
QToolButton *createToolButtonWithShortcutToolTip(Utils::Id commandId, QWidget *parent = nullptr)
QToolButton *toolButtonWithAppendedShortcut(QAction *action, Core::Command *cmd)
QToolButton *toolButtonWithAppendedShortcut(QAction *action, Utils::Id commandId)

详细描述

您不能直接创建命令对象,而是使用ActionManager::registerAction() 方法来注册动作并检索命令。命令对象表示用户可见的动作及其属性。如果有多个动作使用相同的ID(但不同的上下文)注册,则返回的命令是这些动作之间共享的。

命令有两个基本属性:一组默认快捷键和一个默认文本。默认快捷键是用户可以使用来触发命令对象表示的活动的键序列。该列表中的第一个快捷键是主快捷键,例如它也会显示在工具提示和菜单中。默认文本用于在键盘快捷键首选项面板中表示命令。如果默认文本为空,则使用可见动作的文本。

用户可见的动作会更新以表示活动动作的状态(如果有)。出于性能考虑,默认情况下只考虑启用和可见状态。您可以设置相应的属性告诉命令更新动作的图标和文本。

如果没有活动动作,可见动作的默认行为是被禁用。您可以通过命令的属性更改该行为,使其隐藏而非禁用。

有关Core::CommandCore::ActionManager之间如何交互的概述,请参阅动作管理器和命令

也请参阅Core::ActionManager动作管理器和命令

成员类型文档

enum Command::CommandAttribute
flags Command::CommandAttributes

此枚举定义当活动动作改变时用户可见动作的更新方式。默认情况下,更新启用和可见状态,并在没有活动动作时禁用用户可见的动作。

常量描述
Core::Command::CA_UpdateText2也更新动作的文本。
Core::Command::CA_UpdateIcon4也更新动作的图标。
Core::Command::CA_Hide1当没有活动动作时,隐藏用户可见的动作,而不是只是禁用它。
Core::Command::CA_NonConfigurable8标志以指示此命令的键盘快捷键不应由用户配置。

CommandAttributes 类型是 QFlags<CommandAttribute> 的typedef。它存储 CommandAttribute 值的 OR 组合。

成员函数文档

QAction *Command::action() const

返回此命令的用户可见动作。使用此动作将它放置在例如工具按钮上。该操作会自动将 triggered()toggled() 信号转发给当前活跃为该命令的动作。它还会在工具提示中显示当前主键盘快捷键(除了活动动作的工具提示),在没有活动动作时禁用/隐藏。

[signal] void Command::activeStateChanged()

当命令的活跃状态改变时,发出此信号。

void Command::augmentActionWithShortcutToolTip(QAction *a) const

设置动作a的工具提示为动作文本,并附加命令的主要快捷键。当主要快捷键或动作文本发生变化时,工具提示会自动更新。

另请参阅stringWithAppendedShortcut() 和 createActionWithShortcutToolTip()。

Core::Context Command::context() const

返回此命令的上下文。

[静态] QAction *Command::createActionWithShortcutToolTip(Utils::Id commandId, QObject *parent)

返回一个新的 QAction,其中包含命令的图标、图标文本和文本,由commandId提供。将按钮的父对象设置为parent。动作的工具提示是动作文本,附加了命令的主要快捷键。其他动作属性不会自动更新。

另请参阅augmentActionWithShortcutToolTip

[静态] QToolButton *Command::createToolButtonWithShortcutToolTip(Utils::Id commandId, QWidget *parent = nullptr)

返回一个新的QToolButton,其中包含命令的图标、图标文本和文本,由commandId提供。将按钮的父对象设置为parent。动作的工具提示是动作文本,附加了命令的主要快捷键。按钮的其他属性不会自动更新。

另请参阅createActionWithShortcutToolTip

QList<QKeySequence> Command::defaultKeySequences() const

返回可以用来激活此命令的默认键盘快捷键。

另请参阅setDefaultKeySequences

QString Command::description() const

返回用于将此命令呈现给用户的文本。

另请参阅setDescription

bool Command::hasAttribute(Core::Command::CommandAttribute attribute) const

返回命令是否设置了attribute

另请参阅CommandAttributeremoveAttributesetAttribute

bool Command::isActive() const

返回命令是否具有针对当前上下文的激活动作。

bool Command::isScriptable() const

返回命令是否可脚本化。可脚本化的命令可以从脚本中调用,而无需用户与之交互。

QKeySequence 命令::keySequence() const

返回分配给此命令的当前主键盘快捷键。

另请参阅 defaultKeySequences

[信号] void Command::keySequenceChanged()

在分配给此命令的键盘快捷键更改时发送,例如,当用户在键盘快捷键设置对话框中设置它们时。

QList<QKeySequence> Command::keySequences() const

返回分配给此命令的当前键盘快捷键。

另请参阅 defaultKeySequences

void Command::removeAttribute(Core::Command::CommandAttribute attribute)

从此命令的属性中移除 attribute

另请参阅 CommandAttributesetAttribute

void Command::setAttribute(Core::Command::CommandAttribute attribute)

attribute 添加到此命令的属性中。

另请参阅 CommandAttributeremoveAttributehasAttribute

void Command::setDefaultKeySequence(const QKeySequence &key)

将用于激活此命令的默认键盘快捷键设置为 key。如果用户没有自定义快捷键,或者将快捷键重置为默认值,将使用此功能。

void Command::setDefaultKeySequences(const QList<QKeySequence> &keys)

将用于激活此命令的默认键盘快捷键设置为 keys。如果用户没有自定义快捷键,或者将快捷键重置为默认值,将使用此功能。

另请参阅 defaultKeySequences

void Command::setDescription(const QString &text)

设置用于在键盘快捷键设置对话框中表示命令的 text。如果您不设置它,则取用户可见操作的当前文本(在许多情况下这是可以的)。

另请参阅 description

void Command::setTouchBarIcon(const QIcon &icon)

将触摸条上操作的图标设置为 icon

另请参阅 touchBarIcon

void Command::setTouchBarText(const QString &text)

将触摸条上操作的文本设置为 text

另请参阅 touchBarText

QString 命令::stringsWithAppendedShortcut(const QString &string) const

返回带有当前分配给此命令的主要键盘快捷方式的字符串表示形式。

[static] QToolButton *命令::toolButtonWithAppendedShortcut(QAction *action, Core::Command *cmd)

返回用于action的工具按钮。

将主键盘快捷方式cmd追加到动作的工具提示中。

[static] QToolButton *命令::toolButtonWithAppendedShortcut(QAction *action, Utils::Id commandId)

返回用于action的工具按钮。

将ID为commandId的命令的主要键盘快捷方式追加到按钮的工具提示中。

QIcon 命令::touchBarIcon() const

返回触摸栏上的动作图标。

另请参阅 setTouchBarIcon().

QString 命令::touchBarText() const

返回触摸栏上的动作文本。

另请参阅 setTouchBarText().

©2024 Qt 公司有限。此处的文档贡献享有其各自所有者的版权。提供的文档根据自由软件基金会公布的GNU自由文档许可协议版本1.3进行许可。Qt及其相关标志是芬兰的Qt公司和/或其他国家的商标。所有其他商标均为其各自所有者的财产。