- class QPushButton#
QPushButton
小部件提供了一个命令按钮。 更多…继承自:
QCommandLinkButton
概要#
属性#
autoDefault()
- 推动按钮是否是自动默认按钮default()
- 推动按钮是否是默认按钮flat()
- 按钮边框是否提升
方法#
虚函数#
槽#
定义
showMenu()
注意
本说明可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来通知我们。
详细说明#
警告
本节包含从 C++ 自动翻译到 Python 的代码片段,可能包含错误。
按钮或命令按钮可能是任何图形用户界面中最常使用的控件。点击按钮可命令计算机执行某些操作,或回答问题。典型按钮包括“确定”,“应用”,“取消”,“关闭”,“是”,“否”和“帮助”。
命令按钮为矩形,通常显示描述其操作的文本标签。可以通过在文本中先加上一个与号来指定快捷键。例如
button = QPushButton("Download", self)
在此示例中,快捷键是 Alt+D。有关详细信息,请参阅 QShortcut 文档(要显示真正的与号,请使用 ‘&&’)。
按钮显示文本标签,以及可选的小图标。这些可以通过构造函数设置,并且可以使用
setText()
和setIcon()
在后来修改。如果按钮被禁用,将根据 GUI 风格操作文本和图标的显示,使按钮看上去“禁用”。当鼠标、空格键或键盘快捷键激活按钮时,按钮会发出
clicked()
信号。可以通过连接到此信号来执行按钮的动作。按钮还提供了一些不太常用的信号,例如pressed()
和released()
。对话框中的命令按钮默认为自动指定为默认按钮,即它们在收到键盘输入焦点时自动变为默认推送按钮。默认按钮是一种当用户在对话框中按下Enter或Return键时被激活的推送按钮。您可以使用
setAutoDefault()
来更改此设置。请注意,自动默认按钮预留了少量额外空间,这是绘制默认按钮指示符所必需的。如果您不想按钮周围有空隙,请调用setAutoDefault
(false)。由于其核心地位,按钮小部件在过去十年中发展出了许多变化。现在,Microsoft样式指南显示了大约十个不同的Windows推送按钮状态,而文本暗示说,当考虑所有功能组合时,还有几十种更多状态。
最重要的模式或状态是
是否可用(灰色,禁用)。
标准推送按钮、切换推送按钮或菜单按钮。
开启或关闭(仅限于切换推送按钮)。
默认或正常。对话框中的默认按钮通常可以使用Enter或Return键来“点击”。
是否自动重复。
是否按下。
一般而言,当应用程序或对话框窗口在用户点击时执行操作(如应用、取消、关闭和帮助)且小部件应有宽阔的矩形形状和文本标签时,请使用推送按钮。小按钮,通常是方形的,用于更改窗口状态而不是执行操作(如
QFileDialog
右上角的按钮)不是命令按钮,而是工具按钮。Qt为这些按钮提供了一个特殊的类(QToolButton
)。如果您需要切换行为(请见
setCheckable()
)或按钮在被按下时自动重复激活信号(如滚动条中的箭头,请参阅setAutoRepeat()
),那么命令按钮可能不是您想要的。当不确定时,请使用工具按钮。注意
在macOS上,当推送按钮的宽度小于50或高度小于30时,按钮的角落会从圆形变为方形。使用
setMinimumSize()
函数来防止这种行为。命令按钮的一种变体是菜单按钮。它们提供不止一个命令,因为当它们被点击时,会弹出选项菜单。请使用
setMenu()
方法将弹出式菜单关联到一个推送按钮。其他按钮类别是选项按钮(请见
QRadioButton
)和复选框(请见QCheckBox
)。在 Qt 中,基类
QAbstractButton
提供了大部分模式和其它 API,而QPushButton
提供了 GUI 逻辑。更多关于 API 的信息,请参阅QAbstractButton
。注意
当使用
from __feature__ import true_property
时可以直接使用属性,否则通过访问函数。- property autoDefaultᅟ: bool#
此属性表示单选按钮是否是自动默认按钮。
如果此属性设置为 true,则单选按钮是自动默认按钮。
在某些 GUI 风格中,默认按钮会绘制额外的边框,宽达 3 像素或更多。Qt 会自动将这个空间留出,即自动默认按钮可能有一个更大的大小提示。
对于有
QDialog
父级的按钮,此属性的默认值为 true;否则默认为 false。有关
default
和自动默认如何交互的详细信息,请参阅default
属性。- property defaultᅟ: bool#
此属性表示单选按钮是否是默认按钮。
默认和自动默认按钮决定当用户在对话框中按回车键时会发生什么。
当用户按下回车键时,将自动按下设置了此属性的按钮(即对话框的 默认 按钮),有一个例外:如果当前有一个
autoDefault
按钮具有焦点,则autoDefault
按钮将被按下。当对话框有autoDefault
按钮但无默认按钮时,按下回车键将按键具有焦点的autoDefault
按钮,如果没有按钮具有焦点,则按下下一个autoDefault
按钮。在对话框中,一次只能有一个单选按钮是默认按钮。这个按钮会显示额外的边框(取决于 GUI 风格)。
默认按钮行为仅在对话框中提供。按钮可以通过按下空格键在按钮获得焦点时始终通过键盘点击。
如果当前默认按钮的默认属性在对话框可见时设置为false,则在下一次对话框中的推按钮获得焦点时,将自动分配新的默认属性。
此属性的默认值为false。
- 访问函数
- propertyflat: bool
此属性表示按钮边框是否凸起。
此属性的默认值为false。如果设置此属性,大多数样式将不会绘制按钮背景,除非按钮被按下。可以使用
setAutoFillBackground()
来确保使用QPalette::Button画笔填充背景。- __init__([parent=None])
- 参数
parent –
QWidget
创建一个没有文本和
parent
的按钮。创建一个带有
icon
和text
,以及parent
的按钮。注意,您还可以将QPixmap对象作为图标传递(多亏了C++提供的隐式类型转换)。
- __init__(text[, parent=None])
- 参数
text – str
parent –
QWidget
创建一个具有父级
parent
和文本text
的按钮。- autoDefault()
- 返回类型
bool
参阅也
属性
autoDefault
的获取器。- initStyleOption(option
- 参数
option –
QStyleOptionButton
使用此
QPushButton
中的值来初始化option
。这种方法对于子类很有用,当它们需要一个QStyleOptionButton
但不想自己填写所有信息时。参阅也
- isDefault()
- 返回类型
bool
获取属性
defaultᅟ
的值。- isFlat()
- 返回类型
bool
获取属性
flatᅟ
的值。- 返回类型
返回按钮相关的弹出菜单或如果没有设置弹出菜单,返回
None
。参阅也
- setAutoDefault(arg__1)
- 参数
arg__1 – bool
参阅也
设置属性
autoDefaultᅟ
的值。- setDefault(arg__1)
- 参数
arg__1 – bool
参阅也
设置属性
defaultᅟ
的值。- setFlat(arg__1)
- 参数
arg__1 – bool
参阅也
设置属性
flatᅟ
的值。- setMenu(menu)
- 参数
menu –
QMenu
将弹出菜单menu与这个按钮关联。这会将按钮转换为菜单按钮,在某些样式下,在按钮文本的右侧将出现一个小的三角形。
菜单的所有权不会转让给按钮。
在Fusion widget style中显示带有弹出菜单的按钮。
参阅也
- showMenu()
显示(弹出)相关弹窗菜单。如果没有此菜单,该函数不会执行任何操作。此函数将继续运行直到用户关闭弹窗菜单。