命令类
class Core::Command命令类表示一个操作,例如菜单项、工具按钮或快捷键。更多...
头文件 | #include <coreplugin/actionmanager/command.h> |
继承 | QObject |
公共类型
公共函数
QAction * | action() const |
void | augmentActionWithShortcutToolTip(QAction *a) const |
Core::Context | context() const |
QList<QKeySequence> | defaultKeySequences() const |
QString | description() const |
bool | hasAttribute(Core::Command::CommandAttribute attribute) const |
bool | isActive() const |
bool | isScriptable() const |
QKeySequence | keySequence() const |
QList<QKeySequence> | keySequences() const |
void | removeAttribute(Core::Command::CommandAttribute attribute) |
void | setAttribute(Core::Command::CommandAttribute attribute) |
void | setDefaultKeySequence(const QKeySequence &key) |
void | setDefaultKeySequences(const QList<QKeySequence> &keys) |
void | setDescription(const QString &text) |
void | setTouchBarIcon(const QIcon &icon) |
void | setTouchBarText(const QString &text) |
QString | stringWithAppendedShortcut(const QString &string) const |
QIcon | touchBarIcon() const |
QString | touchBarText() 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::Command和Core::ActionManager之间如何交互的概述,请参阅动作管理器和命令。
也请参阅Core::ActionManager和动作管理器和命令。
成员类型文档
enum Command::CommandAttribute
flags Command::CommandAttributes
此枚举定义当活动动作改变时用户可见动作的更新方式。默认情况下,更新启用和可见状态,并在没有活动动作时禁用用户可见的动作。
常量 | 值 | 描述 |
---|---|---|
Core::Command::CA_UpdateText | 2 | 也更新动作的文本。 |
Core::Command::CA_UpdateIcon | 4 | 也更新动作的图标。 |
Core::Command::CA_Hide | 1 | 当没有活动动作时,隐藏用户可见的动作,而不是只是禁用它。 |
Core::Command::CA_NonConfigurable | 8 | 标志以指示此命令的键盘快捷键不应由用户配置。 |
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
返回可以用来激活此命令的默认键盘快捷键。
QString Command::description() const
返回用于将此命令呈现给用户的文本。
另请参阅setDescription。
bool Command::hasAttribute(Core::Command::CommandAttribute attribute) const
返回命令是否设置了attribute。
另请参阅CommandAttribute、removeAttribute 和 setAttribute。
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。
另请参阅 CommandAttribute 和 setAttribute。
void Command::setAttribute(Core::Command::CommandAttribute attribute)
将 attribute 添加到此命令的属性中。
另请参阅 CommandAttribute、removeAttribute 和 hasAttribute。
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公司和/或其他国家的商标。所有其他商标均为其各自所有者的财产。