Action QML Type

抽象用户界面动作。更多

Import Statement: import QtQuick.Controls
Inherits:

QtObject

属性

信号

方法

详细说明

Action 表示抽象的用户界面操作,可以有快捷方式,并可分配给菜单项和工具栏按钮。

操作可包含text 、一个icon 和一个shortcut 。操作通常由用户通过菜单项、工具栏按钮或键盘快捷键triggeredcheckable 动作在触发时会切换其checked 状态。

Action {
    id: copyAction
    text: qsTr("&Copy")
    icon.name: "edit-copy"
    shortcut: StandardKey.Copy
    onTriggered: window.activeFocusItem.copy()
}

Action 通常用于实现可通过菜单项、工具栏按钮或键盘快捷键调用的应用程序命令。由于用户希望无论使用何种用户界面,都能以相同的方式执行命令,因此将命令表示为可共享的动作非常有用。

动作还可用于分离逻辑和视觉表现。例如,在.ui.qml 文件中声明按钮和菜单项时,可以在其他地方声明动作,并从外部进行分配。

ToolButton {
    id: toolButton
    action: copyAction
}

当动作与按钮和菜单项配对时,enabledcheckablechecked 状态会自动同步。例如,在文字处理程序中,如果用户点击 "粗体 "工具栏按钮,"粗体 "菜单项将自动被选中。按钮和菜单项的texticon 默认来自操作。可以通过在控件上直接指定texticon 来覆盖特定控件的特定操作texticon

MenuItem {
    id: menuItem
    action: copyAction
    text: qsTr("&Copy selected Text")
}

由于 Action 显示的是用户界面操作,因此应将其分配给MenuItemToolButton 或继承AbstractButton 的任何其他控件。对于键盘快捷方式,更适合使用简单的Shortcut 类型。

另请参阅 MenuItem,ToolButton, 和Shortcut

属性文档

checkable : bool

该属性表示操作是否可检查。默认值为false

可选中操作在触发时会在选中(开)和不选中(关)之间切换。

另请参阅 checked


checked : bool

该属性表示动作是否被选中。

另请参阅 checkable


enabled : bool

该属性表示动作是否启用。默认值为true


icon group

icon.cache : bool

icon.color : color

icon.height : int

icon.name : string

icon.source : url

icon.width : int

名称名称
名称此属性包含要使用的图标名称。

图标将从平台主题中加载。如果在主题中找到该图标,则将始终使用该图标;即使icon.source 也已设置。如果找不到图标,则将使用icon.source 代替。

有关主题图标的更多信息,请参阅QIcon::fromTheme() 。

来源该属性包含要使用的图标名称。

图标将作为普通图片加载。

如果icon.name 已设置并指向一个有效的主题图标,则将始终使用该图标而非该属性。

宽度该属性表示图标的宽度。

图标的宽度永远不会超过此值,但必要时会缩小。

高度该属性用于保存图标的高度。

图标的高度永远不会超过此值,但必要时会缩小。

颜色该属性用于设置图标的颜色。

除非颜色设置为"transparent" ,否则图标将使用指定颜色着色。

缓存此属性用于指定是否缓存图标。

默认值为 true。

更多信息,请参阅cache

该属性在QtQuick.Controls 2.13 中引入。


shortcut : keysequence

该属性包含操作的快捷键。按键序列可以设置为standard keyboard shortcuts 中的一个,也可以用一个字符串来描述,该字符串包含触发快捷键所需的最多四个按键序列。

Action {
    shortcut: "Ctrl+E,Ctrl+W"
    onTriggered: edit.wrapMode = TextEdit.Wrap
}

text : string

该属性包含动作的文字描述。


信号文档

toggled(QtObject source)

该信号在操作切换时发出。source 参数用于标识切换动作的对象。

例如,如果该操作被分配给菜单项和工具栏按钮,那么当控件被切换、快捷方式被激活或直接调用toggle() 时,该操作就会被切换。

注: 相应的处理程序是onToggled


triggered(QtObject source)

该信号在动作触发时发出。source 参数用于标识触发操作的对象。

例如,如果将操作分配给菜单项和工具栏按钮,则在点击控件、激活快捷方式或直接调用trigger() 时触发操作。

注: 相应的处理程序是onTriggered


方法文档

void toggle(QtObject source)

如果启用,则切换操作并发出toggled() 信号,同时定义一个可选的source 对象。


void trigger(QtObject source)

触发操作并在启用时发出triggered() 消息,同时定义一个可选的source 对象。


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.