PySide6.QtGui.QAction¶
- class QAction¶
QAction类提供了一个抽象,用于可以添加到不同用户界面组件的用户命令。更多…继承者:
QWidgetAction概要¶
属性¶
autoRepeatᅟ- 操作是否可以自动重复checkableᅟ- 该操作是否是一个可检查的操作checkedᅟ- 操作是否被选中enabledᅟ- 操作是否启用fontᅟ- 动作的字体iconᅟ- 操作的图标iconTextᅟ- 操作的描述性图标文本iconVisibleInMenuᅟ- 操作是否应在菜单中显示图标menuRoleᅟ- 动作的菜单角色priorityᅟ- 操作在用户界面中的优先级shortcutᅟ- 操作的主要快捷键shortcutContextᅟ- 操作快捷键的上下文shortcutVisibleInContextMenuᅟ- 操作是否应在上下文菜单中显示快捷方式statusTipᅟ- 操作的状态提示textᅟ- 操作的描述性文本toolTipᅟ- 操作的提示信息visibleᅟ- 操作是否可见(例如在菜单和工具栏中)whatsThisᅟ- 操作的“这是什么?”帮助文本
方法¶
def
__init__()def
actionGroup()def
activate()def
autoRepeat()def
data()def
font()def
icon()def
iconText()def
isCheckable()def
isChecked()def
isEnabled()def
isSeparator()def
isVisible()def
menu()def
menuRole()def
priority()def
setActionGroup()def
setAutoRepeat()def
setCheckable()def
setData()def
setFont()def
setIcon()def
setIconText()def
setMenu()def
setMenuRole()def
setPriority()def
setSeparator()def
setShortcut()def
setShortcuts()def
setStatusTip()def
setText()def
setToolTip()def
setWhatsThis()def
shortcut()def
shortcuts()def
showStatusText()def
statusTip()def
text()def
toolTip()def
whatsThis()
插槽¶
def
hover()def
resetEnabled()def
setChecked()def
setDisabled()def
setEnabled()def
setVisible()def
toggle()def
trigger()
信号¶
def
changed()def
enabledChanged()def
hovered()def
toggled()def
triggered()def
visibleChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
在应用程序中,许多常用命令可以通过菜单、工具栏按钮和键盘快捷键调用。由于用户期望无论使用哪种用户界面,每个命令都以相同的方式执行,因此将每个命令表示为动作是有用的。
可以将操作添加到用户界面元素(如菜单和工具栏)中,并自动保持用户界面的同步。例如,在文字处理软件中,如果用户按下粗体工具栏按钮,粗体菜单项将自动被选中。
一个
QAction可能包含一个图标、描述性文本、图标文本、键盘快捷键、状态文本、“这是什么?”文本和工具提示。所有属性都可以通过setIcon()、setText()、setIconText()、setShortcut()、setStatusTip()、setWhatsThis()和setToolTip()独立设置。图标和文本作为两个最重要的属性,也可以在构造函数中设置。可以通过setFont()设置单独的字体,例如菜单在将操作显示为菜单项时会尊重此设置。我们建议将操作创建为它们所在窗口的子项。在大多数情况下,操作将是应用程序主窗口的子项。
小部件应用程序中的QAction¶
一旦创建了一个
QAction,它应该被添加到相关的菜单和工具栏中,然后连接到将执行操作的槽。使用QWidget::addAction()或QGraphicsWidget::addAction()将操作添加到小部件中。请注意,操作必须先添加到小部件中才能使用。当快捷键应为全局时(即Qt::ApplicationShortcut作为Qt::ShortcutContext),也是如此。
动作可以被创建为独立的对象。但它们也可以在菜单的构建过程中创建。QMenu类包含了一些方便的函数,用于创建适合用作菜单项的动作。
另请参阅
QMenuQToolBar- class MenuRole¶
此枚举描述了如何在macOS上将操作移动到应用程序菜单中。
常量
描述
QAction.NoRole
此操作不应放入应用程序菜单中
QAction.TextHeuristicRole
此操作应根据操作文本放置在应用程序菜单中,如QMenuBar文档中所述。
QAction.ApplicationSpecificRole
此操作应放置在应用程序菜单中,并具有特定于应用程序的角色
QAction.AboutQtRole
此操作处理“关于 Qt”菜单项。
QAction.AboutRole
此操作应放置在应用程序菜单中的“关于”菜单项位置。菜单项的文本将设置为“关于 <应用程序名称>”。应用程序名称从应用程序包中的
Info.plist文件中获取(参见Qt for macOS - 部署)。QAction.PreferencesRole
此操作应放置在应用程序菜单中的“首选项…”菜单项所在的位置。
QAction.QuitRole
此操作应放置在应用程序菜单中的退出菜单项所在的位置。
设置此值仅对菜单栏中的直接菜单项有效,而不对这些菜单的子菜单有效。例如,如果您的菜单栏中有“文件”菜单,并且“文件”菜单有一个子菜单,那么为该子菜单中的操作设置MenuRole将无效。它们永远不会被移动。
- class Priority¶
此枚举定义了用户界面中操作的优先级。
常量
描述
QAction.LowPriority
该操作在用户界面中不应优先考虑。
QAction.NormalPriority
QAction.HighPriority
该操作应在用户界面中优先处理。
另请参阅
在版本4.6中添加。
- class ActionEvent¶
此枚举类型在调用
activate()时使用常量
描述
QAction.Trigger
这将导致
triggered()信号被发出。QAction.Hover
这将导致
hovered()信号被发出。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property autoRepeatᅟ: bool¶
此属性表示操作是否可以自动重复。
如果为true,当键盘快捷键组合被按住时,动作将自动重复,前提是系统启用了键盘自动重复功能。默认值为true。
- Access functions:
- property checkableᅟ: bool¶
此属性表示操作是否为可检查的操作。
可检查的操作是具有开/关状态的操作。例如,在文字处理器中,粗体工具栏按钮可能是开或关的。不是切换操作的操作是命令操作;命令操作只是被执行,例如文件保存。默认情况下,此属性为
false。在某些情况下,一个切换操作的状态应取决于其他操作的状态。例如,“左对齐”、“居中”和“右对齐”切换操作是互斥的。要实现互斥切换,请将相关的切换操作添加到具有QActionGroup::exclusive属性设置为true的
QActionGroup中。另请参阅
- Access functions:
- property checkedᅟ: bool¶
此属性表示操作是否被选中。
只有可检查的操作才能被检查。默认情况下,这是false(操作未选中)。
- Access functions:
- property enabledᅟ: bool¶
此属性表示操作是否启用。
禁用的操作无法被用户选择。它们不会从菜单或工具栏中消失,但会以一种表明它们不可用的方式显示。例如,它们可能仅使用灰色阴影显示。
这是什么?即使操作被禁用,只要设置了
whatsThis属性,仍然可以提供帮助。当一个动作被添加到所有小部件(使用QWidget::addAction())都被禁用或不可见时,该动作将被禁用。当一个动作被禁用时,无法通过其快捷键触发它。
默认情况下,此属性为
true(操作已启用)。另请参阅
- Access functions:
此属性保存操作的字体。
font 属性用于渲染设置在
QAction上的文本。字体可以被视为一个提示,因为在某些情况下,基于应用程序和样式,可能不会参考它。默认情况下,此属性包含应用程序的默认字体。
另请参阅
此属性保存操作的图标。
在工具栏中,图标用作工具按钮图标;在菜单中,只要
iconVisibleInMenu返回true,它就会显示在菜单文本的左侧。没有默认图标。
如果传递了一个空图标(
isNull())到这个函数中,操作的图标将被清除。- property iconTextᅟ: str¶
此属性保存操作的描述性图标文本。
如果 QToolBar::toolButtonStyle 设置为允许显示文本的值,则此属性中定义的文本将作为标签显示在相关的工具按钮上。
如果操作未使用
setText()或setToolTip()定义,它也将作为菜单和工具提示中的默认文本,并且如果未使用setIcon()定义图标,它也将用于工具栏按钮。如果未明确设置图标文本,则将使用操作的标准文本作为图标文本。
默认情况下,此属性包含一个空字符串。
- Access functions:
- property iconVisibleInMenuᅟ: bool¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
此属性决定操作是否应在菜单中显示图标。
在某些应用程序中,工具栏中的操作带有图标可能是有意义的,但在菜单中则不然。如果为true,则图标(如果有效)会显示在菜单中,如果为false,则不会显示。
默认情况下,遵循是否为应用程序设置了Qt::AA_DontShowIconsInMenus属性。显式设置此属性会覆盖该属性的存在(或不存在)。
例如:
app = QApplication([]) app.setAttribute(Qt.AA_DontShowIconsInMenus) # Icons are no longer shown in menus # ... myAction = QAction() # ... myAction.setIcon(SomeIcon) myAction.setIconVisibleInMenu(True) # Icon will be shown in menus for this action.
另请参阅
- Access functions:
此属性保存操作的菜单角色。
这表示该操作在macOS应用程序菜单中的作用。默认情况下,所有操作都具有
TextHeuristicRole,这意味着操作是根据其文本添加的(有关更多信息,请参见QMenuBar)。在macOS中,菜单角色只能在将操作放入菜单栏之前更改(通常是在显示第一个应用程序窗口之前)。
- Access functions:
- property priorityᅟ: QAction.Priority¶
此属性保存操作在用户界面中的优先级。
此属性可以设置为指示操作在用户界面中的优先级。
例如,当工具栏设置为Qt::ToolButtonTextBesideIcon模式时,具有
LowPriority的操作将不会显示文本标签。- Access functions:
- property shortcutᅟ: QKeySequence¶
此属性保存操作的主要快捷键。
此属性的有效键码可以在Qt::Key和Qt::Modifier中找到。没有默认的快捷键。
- Access functions:
- property shortcutContextᅟ: Qt.ShortcutContext¶
此属性保存操作的快捷方式的上下文。
此属性的有效值可以在Qt::ShortcutContext中找到。默认值为Qt::WindowShortcut。
- Access functions:
- property shortcutVisibleInContextMenuᅟ: bool¶
此属性决定操作是否应在上下文菜单中显示快捷方式。
在某些应用程序中,在上下文菜单中设置带有快捷键的操作可能是有意义的。如果为真,当通过上下文菜单显示操作时,快捷键(如果有效)会显示出来;如果为假,则不会显示。
默认情况下,遵循是否为应用程序设置了Qt::AA_DontShowShortcutsInContextMenus属性。显式设置此属性将覆盖该属性。
另请参阅
- Access functions:
- property statusTipᅟ: str¶
此属性保存操作的状态提示。
状态提示显示在操作的顶级父部件提供的所有状态栏上。
默认情况下,此属性包含一个空字符串。
- Access functions:
- property textᅟ: str¶
此属性保存操作的描述性文本。
如果将操作添加到菜单中,菜单选项将包括图标(如果有)、文本和快捷键(如果有)。如果未在构造函数中或通过使用setText()显式设置文本,则将使用操作的描述图标文本作为文本。没有默认文本。
某些UI元素,如菜单或按钮,可以在字符前使用‘&’自动为该字符创建助记符(快捷键)。例如,菜单中的“&File”将创建快捷键Alt+F,这将打开文件菜单。“E&xit”将为按钮创建快捷键Alt+X,或在菜单中允许通过按“x”导航到菜单项。(使用‘&&’显示实际的&符号)。小部件可能会消耗并在给定快捷键上执行操作。
另请参阅
- property toolTipᅟ: str¶
此属性保存操作的工具提示。
此文本用于工具提示。如果未指定工具提示,则使用操作的文本。
默认情况下,此属性包含操作的文本。
- Access functions:
- property visibleᅟ: bool¶
此属性表示操作是否可见(例如在菜单和工具栏中)。
如果visible为true,则该操作可见(例如在菜单和工具栏中)并且用户可以选择;如果visible为false,则该操作不可见且用户无法选择。
不可见的操作不会变灰;它们根本不会出现。
默认情况下,此属性为
true(操作可见)。- Access functions:
- property whatsThisᅟ: str¶
此属性保存操作的“这是什么?”帮助文本。
“这是什么?”文本用于提供操作的简要描述。文本可能包含富文本。没有默认的“这是什么?”文本。
另请参阅
- Access functions:
使用
parent构造一个动作。如果parent是一个动作组,该动作将自动插入到组中。注意
自 Qt 5.7 起,
parent参数是可选的。- __init__(text[, parent=None])
- Parameters:
文本 – str
parent –
QObject
使用一些
text和parent构造一个动作。如果parent是一个动作组,该动作将自动插入到组中。除非你分别使用
setToolTip()或setIconText()指定不同的文本,否则将使用text的简化版本(例如,“&Menu Option…”变为“Menu Option”)作为工具提示和图标文本。另请参阅
构造一个带有
icon和一些text以及parent的动作。如果parent是一个动作组,该动作将自动插入到组中。除非你分别使用
setToolTip()或setIconText()指定不同的文本,否则将使用text的简化版本(例如,“&Menu Option…”变为“Menu Option”)作为工具提示和图标文本。- actionGroup()¶
- Return type:
返回此操作的操作组。如果没有操作组管理此操作,则将返回
None。- activate(event)¶
- Parameters:
事件 –
ActionEvent
发送与
ActionEventevent相关的信号。基于动作的小部件使用此API使
QAction发出信号,同时也发出它们自己的信号。返回此操作已添加到的对象列表。
另请参阅
addAction()- autoRepeat()¶
- Return type:
布尔
另请参阅
属性
autoRepeatᅟ的获取器。- changed()¶
当动作发生变化时,会发出此信号。如果您只对给定小部件中的动作感兴趣,可以监听带有 QEvent::ActionChanged 的 QWidget::actionEvent()。
另请参阅
属性
iconᅟ的通知信号。- checkableChanged(checkable)¶
- Parameters:
checkable – 布尔值
属性
checkableᅟ的通知信号。- data()¶
- Return type:
对象
返回在
setData中设置的用户数据。另请参阅
- enabledChanged(enabled)¶
- Parameters:
enabled – 布尔值
属性
enabledᅟ的通知信号。属性
fontᅟ的获取器。- hover()¶
这是一个方便的插槽,用于调用 activate(Hover)。
- hovered()¶
当用户高亮显示一个操作时,会发出此信号;例如,当用户将光标悬停在菜单选项、工具栏按钮上或按下操作的快捷键组合时。
另请参阅
属性
iconᅟ的获取器。- iconText()¶
- Return type:
字符串
另请参阅
属性
iconTextᅟ的获取器。- isCheckable()¶
- Return type:
布尔
属性
checkableᅟ的获取器。- isChecked()¶
- Return type:
布尔
属性
checkedᅟ的获取器。- isEnabled()¶
- Return type:
布尔
属性
enabledᅟ的获取器。- isIconVisibleInMenu()¶
- Return type:
布尔
属性
iconVisibleInMenuᅟ的获取器。- isSeparator()¶
- Return type:
布尔
如果此操作是分隔符操作,则返回
true;否则返回false。另请参阅
- isShortcutVisibleInContextMenu()¶
- Return type:
布尔
属性
shortcutVisibleInContextMenuᅟ的获取器。- isVisible()¶
- Return type:
布尔
属性
visibleᅟ的获取器。- Return type:
- menuRole()¶
- Return type:
另请参阅
属性
menuRoleᅟ的获取器。- priority()¶
- Return type:
另请参阅
属性
priorityᅟ的获取器。- resetEnabled()¶
属性
enabledᅟ的重置功能。- setActionGroup(group)¶
- Parameters:
组 –
QActionGroup
将此操作组设置为
group。该操作将自动添加到组的操作列表中。组内的操作将是互斥的。
- setAutoRepeat(arg__1)¶
- Parameters:
arg__1 – 布尔值
另请参阅
属性
autoRepeatᅟ的设置器。- setCheckable(arg__1)¶
- Parameters:
arg__1 – 布尔值
另请参阅
属性
checkableᅟ的设置器。- setChecked(arg__1)¶
- Parameters:
arg__1 – 布尔值
另请参阅
属性
checkedᅟ的设置器。- setData(var)¶
- Parameters:
var – 对象
将操作的内部数据设置为给定的
data。另请参阅
- setDisabled(b)¶
- Parameters:
b – 布尔值
这是一个用于
enabled属性的便捷函数,对于信号-槽连接非常有用。如果b为真,则动作被禁用;否则,它被启用。- setEnabled(arg__1)¶
- Parameters:
arg__1 – 布尔值
另请参阅
属性
enabledᅟ的设置器。属性
fontᅟ的设置器。属性
iconᅟ的设置器。- setIconText(text)¶
- Parameters:
文本 – str
另请参阅
属性
iconTextᅟ的设置器。- setIconVisibleInMenu(visible)¶
- Parameters:
visible – 布尔值
属性
iconVisibleInMenuᅟ的设置器。将此操作包含的菜单设置为指定的
menu。另请参阅
属性
menuRoleᅟ的设置器。属性
priorityᅟ的设置器。- setSeparator(b)¶
- Parameters:
b – 布尔值
如果
b为真,则此操作将被视为分隔符。分隔符的表示方式取决于它被插入的小部件。在大多数情况下,对于分隔符操作,文本、子菜单和图标将被忽略。
另请参阅
- setShortcut(shortcut)
- Parameters:
快捷键 –
QKeySequence
将
shortcut设置为触发操作的唯一快捷键。另请参阅
属性
shortcutᅟ的设置器。- setShortcutContext(context)¶
- Parameters:
上下文 –
ShortcutContext
另请参阅
属性
shortcutContextᅟ的设置器。- setShortcutVisibleInContextMenu(show)¶
- Parameters:
显示 – 布尔值
属性
shortcutVisibleInContextMenuᅟ的设置器。- setShortcuts(key)¶
- Parameters:
key –
StandardKey
根据
key设置一个平台依赖的快捷键列表。调用此函数的结果将取决于当前运行的平台。请注意,此操作可以分配多个快捷键。如果只需要主快捷键,请使用setShortcut代替。另请参阅
- setShortcuts(shortcuts)
- Parameters:
快捷键 – .QKeySequence 列表
将
shortcuts设置为触发操作的快捷键列表。列表的第一个元素是主要快捷键。另请参阅
- setStatusTip(statusTip)¶
- Parameters:
statusTip – str
另请参阅
属性
statusTipᅟ的设置器。属性
textᅟ的设置器。属性
toolTipᅟ的设置器。- setVisible(arg__1)¶
- Parameters:
arg__1 – 布尔值
另请参阅
属性
visibleᅟ的设置器。- setWhatsThis(what)¶
- Parameters:
什么 – str
另请参阅
属性
whatsThisᅟ的设置器。- shortcut()¶
- Return type:
返回主快捷键。
另请参阅
属性
shortcutᅟ的获取器。- shortcutContext()¶
- Return type:
另请参阅
属性
shortcutContextᅟ的获取器。- shortcuts()¶
- Return type:
QKeySequence的列表
返回快捷方式列表,主要快捷方式作为列表的第一个元素。
另请参阅
通过发送
QStatusTipEvent来更新由object表示的UI的相关状态栏。如果事件已发送,则返回true,否则返回false。如果指定了一个空的小部件,事件将被发送到动作的父级。
另请参阅
- statusTip()¶
- Return type:
字符串
另请参阅
属性
statusTipᅟ的获取器。属性
textᅟ的获取器。- toggle()¶
这是一个用于
checked属性的便捷函数。连接到它以将选中状态更改为其相反状态。- toggled(checked)¶
- Parameters:
checked – 布尔值
每当可检查操作更改其
isChecked()状态时,都会发出此信号。这可能是用户交互的结果,或者是因为调用了setChecked()。由于setChecked()更改了QAction,它除了发出toggled()信号外,还会发出changed()信号。checked如果操作被选中则为 true,如果操作未被选中则为 false。另请参阅
activate()triggered()checked属性
checkedᅟ的通知信号。- toolTip()¶
- Return type:
字符串
另请参阅
属性
toolTipᅟ的获取器。- trigger()¶
这是一个方便调用的插槽,用于调用activate(Trigger)。
- triggered([checked=false])¶
- Parameters:
checked – 布尔值
当用户激活一个动作时,会发出此信号;例如,当用户点击菜单选项、工具栏按钮或按下动作的快捷键组合时,或者当调用
trigger()时。值得注意的是,当调用setChecked()或toggle()时,不会发出此信号。如果操作是可勾选的,
checked为 true 表示操作已勾选,为 false 表示操作未勾选。另请参阅
activate()toggled()checked- visibleChanged()¶
属性
visibleᅟ的通知信号。- whatsThis()¶
- Return type:
字符串
另请参阅
属性
whatsThisᅟ的获取器。