class QGraphicsWidget#

QGraphicsWidget 类是所有 QGraphicsScene 中 widget 项的基类。 更多

Inheritance diagram of PySide6.QtWidgets.QGraphicsWidget

继承自: QGraphicsProxyWidgetQLegendQChartQPolarChart

概述

属性

方法#

虚函数#

插槽#

信号#

静态函数#

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们。

详细描述#

QGraphicsWidget 是一个扩展的基类项,它相对于 QGraphicsItem 提供了额外的功能。它在许多方面与 QWidget 类似

QGraphicsItem 不同,QGraphicsWidget 不是一个抽象类;可以在不继承它的前提下创建 QGraphicsWidget 实例。这种方法对于只负责将子部件组织到布局中的小部件很有用。

如果您需要处理高级输入焦点,如标签焦点和激活,或布局,则可以将 QGraphicsWidget 用作您自己的自定义项目的基项目。

由于 QGraphicsWidgetQWidget 类似且具有相似的API,因此将小部件从 QWidget 移植到 QGraphicsWidget 比移到 QGraphicsItem更容易。

注意

基于 QWidget 的小部件可以即时嵌入到 QGraphicsScene 中,使用 QGraphicsProxyWidget

QGraphicsWidgetQWidget 之间的显著差异是

QGraphicsWidget

QWidget

坐标和几何使用 qreals(取决于平台可能是双精度或浮点数)定义。

QWidget 使用整数几何(QPoint,QRect)。

小部件默认已经是可见的;您不需要调用 show() 来显示小部件。

QWidget 默认情况下是隐藏的,直到你调用 show() 方法。

支持部分控件属性。

支持所有控件属性。

顶层项的样式默认为 style

顶层控件的样式默认为 style

图形视图提供了一个自定义的拖放框架,不同于 QWidget

标准拖放框架。

控件项不支持模态。

完全支持模态。

QGraphicsWidget 支持Qt的部分控件属性(Qt::WidgetAttribute),如下表所示。表中未列出的属性不受支持或未被使用。

控件属性

使用方式

Qt::WA_SetLayoutDirection

通过 setLayoutDirection() 设置,通过 unsetLayoutDirection() 清除。你可以测试此属性以检查控件是否已显式设置了 layoutDirection 。如果未设置属性,则 layoutDirection() 将继承。

Qt::WA_RightToLeft

setLayoutDirection() 控制。从父级/场景继承。如果设置,则控件的布局将以从右到左的顺序排列水平安排的控件。

Qt::WA_SetStyle

setStyle() 设置和清除。如果此属性已设置,则控件已显式分配了样式。如果未设置,则控件将使用场景或应用程序的样式。

Qt::WA_Resized

setGeometry()resize() 设置。

Qt::WA_SetPalette

setPalette() 设置。

Qt::WA_SetFont

setFont() 设置。

Qt::WA_WindowPropagation

启用向窗口控件传播。

尽管QGraphicsWidget 继承自QObject和QGraphicsItem,但应该使用QGraphicsItem提供的函数来管理父元素和子元素之间的关系,而不是QObject。这些函数控制元素的堆叠顺序以及它们的所属关系。

注意

QObject::parent() 对于QGraphicsWidgets始终应返回None,但这一策略并未严格定义。

注意

当使用from __feature__ import true_property时可以直接使用属性,否则通过访问函数来获取。

property autoFillBackgroundᅟ: bool#

这个属性表示是否自动填充窗口背景。

如果启用此属性,Qt将在调用paint()方法之前填充窗口的背景。使用的颜色定义自窗口调色板中的QPalette::Window颜色角色。

此外,除非设置了WA_OpaquePaintEvent或WA_NoSystemBackground属性,否则窗口总是用QPalette::Window填充。

默认情况下,此属性为false

参考:

WA_NoSystemBackground

访问函数
property focusPolicyᅟ: Qt.FocusPolicy#

这个属性表示窗口接受键盘焦点的方式。

如果窗口通过按Tab键接受焦点,焦点策略为Qt::TabFocus;通过点击接受焦点,则为Qt::ClickFocus;同时接受两者,则为Qt::StrongFocus;如果不接受焦点,则为Qt::NoFocus(默认)。

如果窗口处理键盘事件,则必须启用键盘焦点。这通常在构造函数中完成。例如، QLineEdit 构造函数将 setFocusPolicy(Qt::StrongFocus)。

如果你启用了焦点策略(即不是Qt::NoFocus),QGraphicsWidget 将自动启用ItemIsFocusable标志。对一个设置了Qt::NoFocus的窗口将清除ItemIsFocusable标志。如果窗口当前拥有键盘焦点,窗口将自动失去焦点。

参考:

focusInEvent() focusOutEvent() keyPressEvent() keyReleaseEvent() enabled

访问函数
属性 font: QFont#

此属性包含小部件的字体。

此属性提供了小部件的字体。

QFont由显式定义的字体属性和从小部件的父级隐式继承的属性组成。因此,font()可以返回与使用setFont()设置的不同的字体。此方案允许你在不影响字体继承条目的情况下单独定义字体。

当小部件的字体更改时,它会将其条目与父级小部件解析。如果没有父级小部件,则将其条目与场景解析。然后,小部件向自身发送FontChange事件,并通知所有后代,以便它们也可以解析它们的字体。

默认情况下,此属性包含应用程序的默认字体。

参考:

font() font resolve()

访问函数
属性 geometry: QRectF#

此属性包含小部件的几何形状。

将项的几何形状设置为rect。调用该函数修改项的位置和大小。首先移动项,然后调整大小。

调用此函数的一个副作用是,小部件将接收到移动事件和大小调整事件。此外,如果小部件分配了布局,则布局将激活。

参考:

geometry() resize()

访问函数
属性 layout: QGraphicsLayout#

此属性包含小部件的布局。

在分配新布局之前,任何现有的布局管理器都被删除。如果 layoutNone,则小部件将没有布局。现有子小部件的几何形状将不受影响。

QGraphicsWidget 拥有 layout 的所有权。

当前由 layout 或其所有子布局管理的小部件都自动更换为其子项。然后取消布局,并根据此项目的 geometry() 和 contentsMargins() 调整子小部件的几何形状。未被 layout 明确管理的小部件在分配给此小部件后仍不受布局影响。

如果当前没有布局管理此小部件,layout() 将返回 None

访问函数
property layoutDirectionᅟ: Qt.LayoutDirection#

此属性保存此小部件的布局方向。

此属性修改了此小部件及其所有后代的 Qt::WA_RightToLeft 属性。它还设置此小部件的 Qt::WA_SetLayoutDirection 属性。

小部件的布局方向决定布局管理器在水平方向上排列此小部件的子小部件的顺序。默认值取决于应用程序的语言和区域设置,通常与文字的阅读和编写方向相同。Qt::LeftToRight 时,布局从此小部件的左侧开始放置子小部件到右侧。Qt::RightToLeft 则相反 - 布局将从右侧开始放置小部件,并移动到左侧。

子小部件从父组件继承其布局方向。顶级小部件项目从 QGraphicsScene::layoutDirection 继承其布局方向。如果您通过调用 setLayoutDirection() 修改小部件的布局方向,则小部件将发送自身 LayoutDirectionChange 事件,然后将新的布局方向传播到所有后代。

参考:

layoutDirection layoutDirection

访问函数
property maximumSizeᅟ: QSizeF#

此属性保存小部件的最大大小。

访问函数

属性minimumSize: QSizeF#

该属性保存小部件的最小尺寸。

访问函数

属性palette: QPalette#

该属性保存小部件的调色板。

该属性提供小部件的调色板。调色板为颜色组(例如,QPalette::Button)和状态(例如,QPalette::Inactive)提供颜色和画笔,松散地定义了小部件及其子项的总体外观。

QPalette由明确定义的色彩组和从小部件的父项隐式继承的色彩组组成。因此,palette()可以返回与使用setPalette()设置的不同的调色板。此方案允许您定义调色板中的单个条目,而不会影响调色板继承的条目。

当一个小部件的调色板更改时,它会将其条目与其父小部件进行解析,如果没有父小部件,则与其场景进行解析。然后,它向自身发送PaletteChange事件,并通知所有后代,以便它们也能解析其调色板。

默认情况下,该属性包含应用程序的默认调色板。

参考:

palette resolve()

访问函数
属性preferredSize: QSizeF#

该属性保存小部件的首选尺寸。

访问函数

属性size: QSizeF#

此属性持有小部件的大小。

调用 resize() 将小部件的大小调整为由 minimumSize()maximumSize() 界定的大小。此属性只影响小部件的宽度和高度(例如,其右侧和下侧边缘);小部件的位置和左上角将不受影响。

调整小部件大小时,会引起小部件立即接收一个具有小部件旧大小和新大小的 GraphicsSceneResize 事件。如果在此事件到达时小部件分配了布局,则会激活该布局并且它将自动更新任何子小部件的几何形状。

此属性不影响父小部件的任何布局。如果小部件本身由父布局管理;例如,它具有分配了布局的父小部件,则该布局不会激活。

默认情况下,此属性包含一个宽度和高度为零的大小。

访问函数
属性sizePolicy: QSizePolicy#

此属性持有小部件的大小策略。

访问函数

属性 windowFlags: Qt.WindowType 的组合#

这个属性保存了小部件的窗口标志。

窗口标志是窗口类型(例如,Qt::Dialog)和提供有关窗口行为提示的几个标志的组合。行为依赖于平台。

默认情况下,此属性不包含任何窗口标志。

窗口是面板。如果您设置 Qt::Window 标志,ItemIsPanel 标志将自动设置。如果您清除 Qt::Window 标志,ItemIsPanel 标志也将清除。注意,可以独立于 Qt::Window 设置 ItemIsPanel 标志。

参考:

isWindow() isPanel()

访问函数
属性 windowTitle: str#

该属性保存窗口标题(标题)。

此属性仅用于窗口。

默认情况下,如果未设置标题,则此属性包含一个空字符串。

访问函数
__init__([parent=None[, wFlags=Qt.WindowFlags()]])#
参数:

构建一个 QGraphicsWidget 实例。可选的 parent 参数传递给 QGraphicsItem 构造函数。可选的 wFlags 参数指定了小部件的窗口标志(例如,此小部件是否应为窗口、工具或弹出窗口等)。

actions()#
返回类型:

一个QAction的列表。

返回可能为空的小部件动作列表。

参考:

insertAction() removeAction() actions() associatedGraphicsWidgets()

addAction(action)#
参数:

actionQAction

将动作 action 添加到该小部件的动作列表中。

所有 QGraphicsWidgets 都有一个 QActions 列表,但它们可以用多种不同的方式进行图形表示。默认的 QActions 列表的使用(如通过 actions() 返回)是创建一个上下文 QMenu

QGraphicsWidget 应只具有每种动作的一个实例,添加一个已经有的动作不会导致相同的动作在小部件中出现两次。

addActions(actions)#
参数:

actions – .QAction 列表

将动作 actions 添加到该小部件的动作列表中。

adjustSize()#

调整小部件的大小,以符合其有效的首选大小提示。

当项目首次显示时,会隐式调用此函数。

参考:

effectiveSizeHint() MinimumSize

autoFillBackground()#
返回类型:

布尔值

获取属性 autoFillBackgroundᅟ 的访问器。

changeEvent(event)#
参数:

eventQEvent

可以通过重新实现此事件处理程序来处理状态变化。

可以通过 event 获取此事件中正在更改的状态。

更改事件包括:QEvent::ActivationChange、QEvent::EnabledChange、QEvent::FontChange、QEvent::StyleChange、QEvent::PaletteChange、QEvent::ParentChange、QEvent::LayoutDirectionChange 和 QEvent::ContentsRectChange。

close()#
返回类型:

布尔值

调用此函数以关闭小部件。

如果小部件已被关闭则返回 true,否则返回 false。该槽首先向小部件发送 QCloseEvent,小部件可能会或可能不会接受此事件。如果事件被忽略,则不会发生任何操作。如果事件被接受,则将隐藏小部件。

如果小部件设置了 Qt::WA_DeleteOnClose 属性,则将其删除。

closeEvent(event)#
参数:

eventQCloseEvent

此事件处理程序,对于 event,可以在子类中重新实现以接收小部件关闭事件。默认实现接受此事件。

参考:

close()QCloseEvent

focusNextPrevChild(next)#
参数:

next – bool

返回类型:

布尔值

找到一个新的小部件来给予键盘焦点,这适用于 Tab 键和 Shift+Tab,如果找到一个新的小部件则返回 true,否则返回 false。如果 next 为 true,此函数向前搜索;如果 next 为 false,它将向后搜索。

有时,您可能需要重新实现此函数,以为您提供元件和其子元件的特殊焦点处理。例如,网络浏览器可能重新实现它,将当前活动的链接向前或向后移动,并且在到达页面上的最后一个或第一个链接时只调用基本实现。

子小部件在其父部件上调用 focusNextPrevChild(),但是只有包含子小部件的窗口才决定在哪里重定向焦点。通过为对象重新实现此函数,您可以控制所有子小部件的焦点遍历。

参考:

focusPolicy()

focusPolicy()#
返回类型:

焦点策略

参考:

setFocusPolicy()

focusPolicy 属性的获取器。

focusWidget()#
返回类型:

QGraphicsWidget

如果该小部件、该小部件的子小部件或后代小部件当前拥有输入焦点,则此函数将返回对该小部件的指针。如果没有后代小部件拥有输入焦点,则返回 None

font()#
返回类型:

QFont

参考:

setFont()

font 属性的获取器。

geometryChanged()#

每次在 setGeometry() 中改变几何形状时,都会触发这个信号。

size 属性的通知信号。

getWindowFrameMargins()#
返回类型:

PyObject

获取小部件的窗口框架边框。边框存储在 lefttoprightbottom 中的 qreal 指针。每个参数都可以通过传递 None 来省略。

grabKeyboardEvent(event)#
参数:

eventQEvent

此事件处理程序,针对 event,可以在子类中重新实现以接收对于 QEvent::GrabKeyboard 事件的通知。

参考:

grabKeyboard() grabMouse()

grabMouseEvent(event)#
参数:

eventQEvent

此事件处理程序,针对 event,可以在子类中重新实现以接收对于 QEvent::GrabMouse 事件的通告。

参考:

grabMouse() grabKeyboard()

grabShortcut(sequence[, context=Qt.WindowShortcut])#
参数:
返回类型:

int

将一个快捷键添加到Qt的快捷键系统中,监测给定sequence在指定的context中的按键。如果context为Qt::ApplicationShortcut,则快捷键应用于整个应用程序。否则,应用于此小部件本身,Qt::WidgetShortcut,或应用到窗口本身,Qt::WindowShortcut。对于不属于窗口的小部件(即,顶级小部件及其子部件),Qt::WindowShortcut快捷键应用于场景。

如果多个小部件已经抓取了相同的键sequence,当键sequence出现时,将按照非确定顺序将QEvent::Shortcut事件发送到所有相关的小部件,但将“模糊”标志设置为true。

警告

通常情况下,您不需要使用此函数;而是创建具有您所需的快捷键序列的QActions(如果还需要等价的菜单选项和工具栏按钮),或创建QShortcuts,如果您只需要键序列。QAction和QShortcut都会为您处理所有事件过滤,并提供了在用户触发键序列时被触发的信号,因此比这个低级函数更容易使用。

hideEvent(event)#
参数:

eventQHideEvent

此事件处理程序,在隐藏事件之后,交给小部件,例如,当小部件之前已经显示时,调用setVisible(false)或为小部件或其祖先调用setVisible(false)。

您可以重写此事件处理程序以检测您的小部件何时被隐藏。对event调用QEvent::accept()或QEvent::ignore()没有任何效果。

initStyleOption(option)#
参数:

optionQStyleOption

警告

本节包含自动从C++翻译到Python的代码片段,可能包含错误。

根据当前状态对此小部件填充样式选项对象,并将输出存储在 option 中。默认实现使用以下属性填充 option

样式选项属性

state & State_Enabled

对应于 isEnabled() .

state & State_HasFocus

对应于 hasFocus() .

state & State_MouseOver

对应于 isUnderMouse() .

direction

对应于 layoutDirection() .

rect

对应于 rect() .toRect().

palette

对应于 palette() .

fontMetrics

对应于 QFontMetrics( font() ).

QGraphicsWidget 的子类应调用基本实现,然后在存储小部件特定选项之前使用 qstyleoption_cast <>() 或测试 Type

例如

def initStyleOption(self, option):

    QGraphicsWidget.initStyleOption(option)
    if QStyleOptionGroupBox box = QStyleOptionGroupBox(option):
        # Add group box specific state.
        box.flat = isFlat()
        ...

参考:

initFrom()

insertAction(before, action)#
参数:

将动作 action 插入到此小部件的动作列表中,在动作 before 之前。如果 beforeNonebefore 不是此小部件的有效动作,则将其附加到动作中。

QGraphicsWidget 应只具有每种动作的一个。

insertActions(before, actions)#
参数:
  • beforeQAction

  • actions – .QAction 列表

将动作 actions 插入到此小部件的动作列表中,在动作 before 之前。如果 beforeNonebefore 不是此小部件的有效动作,则将其附加到动作中。

QGraphicsWidget 每种动作最多只能有一个。

isActiveWindow()#
返回类型:

布尔值

如果此小部件的窗口是活动窗口,或者如果该小部件没有窗口但处于活动场景中(即当前有焦点的场景),则返回 true

活动窗口是包含当前具有输入焦点子小部件的窗口,或者它本身具有输入焦点。

参考:

activeWindow() setActiveWindow() isActive()

layout()#
返回类型:

QGraphicsLayout

获取当前管理此小部件的布局,或者如果当前没有布局管理该小部件,则返回 None。

参考:

setLayout()

layout 属性的获取器。

layoutChanged()#

layout 属性的通知信号。

layoutDirection()#
返回类型:

布局方向

layoutDirection 属性的获取器。

moveEvent(event)#
参数:

eventQGraphicsSceneMoveEvent

此事件处理程序在 widget 已经移动(例如,其局部位置已改变)后传递(例如,GraphicsSceneMove 事件)。

只有当项目在本地移动时才传递此事件。调用 setTransform() 或移动项目祖先中的任何内容都不会影响项目的局部位置。

您可以重新实现此事件处理程序以检测 widget 的移动。在 event 上调用 QEvent::accept() 或 QEvent::ignore() 没有影响。

paintWindowFrame(painter, option[, widget=None])#
参数:

此虚函数由 QGraphicsScene 调用以在局部坐标中绘制使用 painteroptionwidget 的窗口框架,基础实现使用当前样式来渲染框架和标题栏。

您可以在 QGraphicsWidget 的子类中重写此函数,以提供自定义小部件窗口框架的渲染。

参考:

paint()

palette()#
返回类型:

QPalette

参考:

setPalette()

属性 palette 的获取器。

polishEvent()#

此事件在在项目构造完成后,但显示或通过场景访问之前,由场景传递给项目。您可以使用此事件处理器对需要项目完全构建才能进行的最后时刻初始化的小部件进行初始化。

基础实现不执行任何操作。

propertyChange(propertyName, value)#
参数:
  • propertyName – str

  • value – object

返回类型:

object

rect()#
返回类型:

QRectF

返回项目的局部矩形作为 QRectF。此函数与 QRectF(QPointF(), size()) 等价。

releaseShortcut(id)#
参数:

id – int

删除具有给定 id 的快捷键。小部件将不会接收到快捷键的键序列的 QEvent::Shortcut 事件(除非它有其他具有相同键序列的快捷键)。

警告

通常您不需要使用此函数,因为当父小部件被销毁时,Qt 的快捷键系统会自动删除快捷键。最好使用 QAction 或 QShortcut 来处理快捷键,因为它们比此低级函数更容易使用。请注意,这是一个昂贵的操作。

removeAction(action)#
参数:

actionQAction

从该小部件的操作列表中删除操作action

resize(w, h)#
参数:
  • w – float

  • h – float

这是一个重载函数。

使用指定的宽度widthw)和高度heighth)构建调整大小。此便捷函数相当于调用resize(QSizeF(w, h))。

参考:

setGeometry() setTransform()

resize(size)
参数:

sizeQSizeF

属性size的设置器。

resizeEvent(event)#
参数:

eventQGraphicsSceneResizeEvent

对于GraphicsSceneResize事件的事件处理程序,是小部件调整大小后传递的(即,其本地大小已更改)。event包含旧大小和新大小。

只有当小部件本地调整大小时才传递该事件;在小部件或其任何祖先或视图上调用setTransform(),不影响小部件的本地大小。

您可以重新实现此事件处理程序以检测您的小部件是否已调整大小。在 event 上调用 QEvent::acceptQEvent::ignore 没有作用。

setAttribute(attribute[, on=true])#
参数:

如果 on 为真,则此函数启用 attribute;否则禁用 attribute

有关支持哪些属性以及它们的用途的完整列表,请参阅 QGraphicsWidget 的类文档。

setAutoFillBackground(enabled)#
参数:

enabled – bool

autoFillBackground 的设置器。

setContentsMargins(margins)#
参数:

marginsQMarginsF

将小部件的内容边距设置为 margins

内容边距由分配的布局用于定义子小部件和布局的放置。边距对于仅限制子小部件到其自身几何形状的一小部分的命令尤其有用。例如,一个带布局的组框将在其标题下方放置子命令,但会放置在其框架内。

更改小部件的内容边距将始终触发 update() ,并且任何分配的布局将自动激活。然后,小部件将接收一个内容矩形更改事件。

setContentsMargins(left, top, right, bottom)
参数:
  • left – float

  • top – float

  • right – float

  • bottom – float

这是一个重载函数。

将窗口内容的边距设置为 lefttoprightbottom

setFocusPolicy(policy)#
参数:

policyFocusPolicy

参考:

focusPolicy()

属性 focusPolicyᅟ 的设置器。

setFont(font)#
参数:

fontQFont

参考:

font()

属性 fontᅟ 的设置器。

setGeometry(x, y, w, h)#
参数:
  • x – float

  • y – float

  • w – float

  • h – float

此便利函数等价于调用 setGeometry (QRectF( x, y, w, h)。

参考:

geometry() resize()

setLayout(layout)#
参数:

layoutQGraphicsLayout

将此小部件的布局设置为 layout。在分配新的布局之前,会删除现有的布局管理器。如果 layoutNone,则小部件将没有布局。现有子小部件的几何形状将保持不变。

当前由 layout 或其所有子布局管理的小部件都自动更换为其子项。然后取消布局,并根据此项目的 geometry() 和 contentsMargins() 调整子小部件的几何形状。未被 layout 明确管理的小部件在分配给此小部件后仍不受布局影响。

QGraphicsWidget 拥有 layout 的所有权。

属性的设置器:layout

setLayoutDirection(direction)#
参数:

directionLayoutDirection

参考:

layoutDirection()

属性的设置器:layoutDirection

setPalette(palette)#
参数:

paletteQPalette

参考:

palette()

属性的设置器:palette

setShortcutAutoRepeat(id[, enabled=true])#
参数:
  • id – int

  • enabled – bool

如果 enabled 为 true,则启用给定 id 的快捷键自动重复;否则禁用自动重复。

setShortcutEnabled(id[, enabled=true])#
参数:
  • id – int

  • enabled – bool

如果 enabled 为 true,则启用给定 id 的快捷键;否则禁用快捷键。

警告

通常情况下,无需使用此函数,因为 Qt 的快捷键系统会在小部件隐藏/显示和获得/失去焦点时自动启用/禁用快捷键。最好使用 QAction 或 QShortcut 来处理快捷键,因为它们的使用比这个低级别函数更容易。

setStyle(style)#
参数:

styleQStyle

设置小部件的样式为 styleQGraphicsWidget 不会获取 style 的所有权。

如果没有分配样式,或者 styleNone,则小部件将使用 style() (如果已设置此值)。否则,小部件将使用 style()

如果 style 不是 None,则此函数将设置 Qt::WA_SetStyle 属性;否则,将清除属性。

参考:

style()

static setTabOrder(first, second)#
参数:

警告

本节包含自动从C++翻译到Python的代码片段,可能包含错误。

second 小部件围绕焦点小部件环移动,以便在按下 Tab 键时,键盘焦点从 first 小部件移动到 second 小部件。

请注意,由于 second 小部件的标签顺序被更改,您应该像这样排序链

setTabOrder(a, b) # a to b
setTabOrder(b, c) # a to b to c
setTabOrder(c, d) # a to b to c to d

not like this

# WRONG
setTabOrder(c, d) # c to d
setTabOrder(a, b) # a to b AND c to d
setTabOrder(b, c) # a to b to c, but not c to d

如果 firstNone,这表示如果场景获得 Tab 焦点(即用户按下 Tab 使得焦点传递到场景),则 second 应该是第一个接收输入焦点的小部件。如果 secondNone,这表示如果场景获得 BackTab 焦点,则 first 应该是第一个获得焦点的小部件。

默认情况下,标签顺序是使用小部件创建顺序隐式定义的。

setWindowFlags(wFlags)#
参数:

wFlagsWindowType 的组合

参考:

windowFlags()

设置属性 windowFlags 的值。

setWindowFrameMargins(margins)#
参数:

marginsQMarginsF

将小部件的窗口边框边距设置为 margins。默认边框边距由样式提供,并取决于当前窗口标志。

如果您想绘制自己的窗口装饰,可以设置自己的边框边距来覆盖默认边距。

setWindowFrameMargins(left, top, right, bottom)
参数:
  • left – float

  • top – float

  • right – float

  • bottom – float

这是一个重载函数。

将小部件的窗口边框边距设置为 lefttoprightbottom

setWindowTitle(title)#
参数:

title - 字符串

参考:

windowTitle()

设置属性 windowTitle 的值。

showEvent(event)#
参数:

event - QShowEvent

此事件处理器用于显示事件,在显示小部件之前被传递,例如,当小部件或其祖先由 setVisible(true) 调用而之前已被隐藏时。

您可以通过重新实现此事件处理器来检测小部件何时被显示。在 event 上调用 QEvent::accept() 或 QEvent::ignore() 没有作用。

size()#
返回类型:

QSizeF

属性 size 的获取器。

style()#
返回类型:

QStyle

返回指向该小部件样式的指针。如果此小部件没有明确分配样式,则返回场景的样式。反过来,如果场景没有分配任何样式,此函数将返回 style() .

参考:

setStyle()

testAttribute(attribute)#
参数:

attributeWidgetAttribute

返回类型:

布尔值

如果 attribute 为此小部件启用,则返回 true;否则返回 false

参考:

setAttribute()

ungrabKeyboardEvent(event)#
参数:

eventQEvent

此事件处理程序(对于 event),可以在子类中重新实现以接收 QEvent::UngrabKeyboard 事件的通知。

参考:

ungrabKeyboard() ungrabMouse()

ungrabMouseEvent(event)#
参数:

eventQEvent

此事件处理程序(对于 event),可以在子类中重新实现以接收 QEvent::UngrabMouse 事件的通知。

参考:

ungrabMouse() ungrabKeyboard()

unsetLayoutDirection()#

属性 layoutDirection 的重置函数。

unsetWindowFrameMargins()#

将窗口框架边距重置为样式提供的默认值。

windowFlags()#
返回类型:

结合使用 WindowType

参考:

setWindowFlags()

属性 windowFlags 的获取器。

windowFrameEvent(e)#
参数:

eQEvent

返回类型:

布尔值

此事件处理程序用于处理窗口框架相关的事件(例如,事件),如果此小部件是一个窗口,则该处理程序会接收窗口框架的事件。基类实现提供了对默认窗口框架交互的支持,例如移动、调整大小等。

您可以在QGraphicsWidget的子类中重写此处理程序以提供您自己的自定义窗口框架交互支持。

如果已识别和处理事件,则返回true;否则返回false

参考:

event()

windowFrameGeometry()#
返回类型:

QRectF

按照父级坐标返回小部件的几何形状,包括任何窗口框架。

windowFrameRect()#
返回类型:

QRectF

返回包括任何窗口框架的小部件的本地域形矩形。

windowFrameSectionAt(pos)#
参数:

posQPointF

返回类型:

WindowFrameSection

返回位置pos处的窗口框架部分,如果没有窗口框架部分在此位置,则返回Qt::NoSection。

此函数用于QGraphicsWidget的基本实现中的窗口框架交互。

如果您想自定义窗口可以如何通过交互方式移动或调整大小,则可以重写此函数。例如,如果您只想允许窗口通过右下角进行调整大小,则可以重写此函数以对除了Qt::BottomRightSection以外的所有部分返回Qt::NoSection。

windowTitle()#
返回类型:

str

参考:

setWindowTitle()

属性 windowTitle 的获取器。

windowType()#
返回类型:

WindowType

返回小部件的窗口类型。

参考:

windowFlags() isWindow() isPanel()