PySide6.QtWidgets.QGraphicsWidget

class QGraphicsWidget

QGraphicsWidget 类是 QGraphicsScene 中所有小部件项的基类。更多

PySide6.QtWidgets.QGraphicsWidget 的继承图

继承者: QGraphicsProxyWidget, QLegend, QChart, QPolarChart

概要

属性

方法

虚拟方法

插槽

信号

静态函数

注意

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

详细描述

QGraphicsWidget 是一个扩展的基础项,它提供了比 QGraphicsItem 更多的功能。它在很多方面类似于 QWidget

QGraphicsItem不同,QGraphicsWidget不是一个抽象类;你可以创建QGraphicsWidget的实例而不必继承它。这种方法对于仅用于将子部件组织到布局中的部件非常有用。

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

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

注意

QWidget -based 部件可以直接嵌入到 QGraphicsScene 中,使用 QGraphicsProxyWidget

QGraphicsWidgetQWidget 之间的显著差异是:

QGraphicsWidget

QWidget

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

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

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

QWidget默认是隐藏的,直到您调用show()

支持部分小部件属性。

支持所有小部件属性。

顶级项目的样式默认为 style

顶级小部件的样式默认为 style

Graphics View 提供了一个自定义的拖放框架,与 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 来管理父项和子项之间的关系。这些函数控制项的堆叠顺序以及它们的所有权。

注意

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

注意

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

property autoFillBackgroundᅟ: bool

此属性用于确定是否自动填充小部件的背景。

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

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

默认情况下,此属性为 false

另请参阅

WA_NoSystemBackground

Access functions:
property focusPolicyᅟ: Qt.FocusPolicy

此属性控制小部件接受键盘焦点的方式。

焦点策略是 Qt::TabFocus,如果小部件通过制表符接受键盘焦点;Qt::ClickFocus,如果小部件通过点击接受焦点;Qt::StrongFocus,如果它同时接受两者;以及 Qt::NoFocus(默认值),如果它根本不接受焦点。

如果一个小部件处理键盘事件,您必须为其启用键盘焦点。这通常是在小部件的构造函数中完成的。例如,QLineEdit 构造函数会调用 setFocusPolicy(Qt::StrongFocus)。

如果您启用了焦点策略(即不是Qt::NoFocus),QGraphicsWidget将自动启用ItemIsFocusable标志。在小部件上设置Qt::NoFocus将清除ItemIsFocusable标志。如果小部件当前具有键盘焦点,小部件将自动失去焦点。

另请参阅

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

Access functions:
property fontᅟ: QFont

此属性保存小部件的字体。

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

QFont 由显式定义的字体属性和从父部件隐式继承的属性组成。因此,font() 返回的字体可能与通过 setFont() 设置的字体不同。这种机制允许您定义字体中的单个条目,而不影响字体的继承条目。

当小部件的字体发生变化时,它会根据其父小部件解析其条目。如果小部件没有父小部件,它会根据场景解析其条目。然后,小部件会向自己发送一个FontChange事件,并通知其所有后代,以便它们也可以解析其字体。

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

另请参阅

font() font resolve()

Access functions:
property geometryᅟ: QRectF

此属性保存小部件的几何信息。

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

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

另请参阅

geometry() resize()

Access functions:
property layoutᅟ: QGraphicsLayout

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

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

QGraphicsWidget 拥有 layout 的所有权。

所有当前由layout或其所有子布局管理的小部件,都会自动重新父级到此项目。然后布局将失效,并且子部件几何形状将根据此项目的geometry()和contentsMargins()进行调整。未由layout明确管理的子部件在分配给此小部件后不受布局影响。

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

Access functions:
property layoutDirectionᅟ: Qt.LayoutDirection

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

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

小部件的布局方向决定了布局管理器如何水平排列该小部件的子部件。默认值取决于应用程序的语言和区域设置,通常与文字的读写方向相同。使用Qt::LeftToRight时,布局从该小部件的左侧开始向右排列子部件。Qt::RightToLeft则相反——布局将从右侧开始向左排列部件。

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

另请参阅

layoutDirection layoutDirection

Access functions:
property maximumSizeᅟ: QSizeF

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

访问函数:

property minimumSizeᅟ: QSizeF

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

访问函数:

property paletteᅟ: QPalette

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

此属性提供了小部件的调色板。调色板为颜色组(例如,QPalette::Button)和状态(例如,QPalette::Inactive)提供了颜色和画笔,大致定义了小部件及其子部件的外观。

QPalette 由显式定义的颜色组和从部件父级隐式继承的组组成。因此,palette() 可以返回与 setPalette() 设置的不同的调色板。这种方案允许您在调色板中定义单个条目,而不影响调色板的继承条目。

当小部件的调色板发生变化时,它会根据其父小部件解析其条目,或者如果没有父小部件,则根据场景解析。然后,它会向自己发送一个PaletteChange事件,并通知所有后代,以便它们也可以解析自己的调色板。

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

另请参阅

palette resolve()

Access functions:
property preferredSizeᅟ: QSizeF

此属性保存小部件的首选大小。

访问函数:

property sizeᅟ: QSizeF

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

调用resize()会将小部件调整为由minimumSize()maximumSize()限制的size。此属性仅影响小部件的宽度和高度(例如,其右边和底边);小部件的位置和左上角保持不变。

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

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

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

Access functions:
property sizePolicyᅟ: QSizePolicy

此属性保存小部件的大小策略。

访问函数:

property windowFlagsᅟ: Combination of Qt.WindowType

此属性保存小部件的窗口标志。

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

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

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

另请参阅

isWindow() isPanel()

Access functions:
property windowTitleᅟ: str

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

此属性仅用于窗口。

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

Access functions:
__init__([parent=None[, wFlags=Qt.WindowFlags()]])
Parameters:

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

actions()
Return type:

QAction的列表

返回此小部件的(可能为空的)操作列表。

另请参阅

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

addAction(action)
Parameters:

动作QAction

将操作 action 添加到此小部件的操作列表中。

所有的QGraphicsWidget都有一个QActions列表,但它们可以以许多不同的图形方式表示。QAction列表的默认用途(由actions()返回)是创建一个上下文QMenu

一个 QGraphicsWidget 应该只拥有每个动作的一个实例,添加一个已经存在的动作不会导致该动作在部件中出现两次。

addActions(actions)
Parameters:

actions – QAction 的列表

将操作 actions 添加到此小部件的操作列表中。

adjustSize()

调整小部件的大小为其有效的首选大小提示。

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

另请参阅

effectiveSizeHint() 最小尺寸

autoFillBackground()
Return type:

布尔

属性 autoFillBackgroundᅟ 的获取器。

changeEvent(event)
Parameters:

事件QEvent

可以重新实现此事件处理程序以处理状态更改。

在此事件中更改的状态可以通过event检索。

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

close()
Return type:

布尔

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

如果小部件被关闭,则返回true;否则返回false。此插槽将首先向小部件发送一个QCloseEvent,小部件可能会接受也可能不会接受该事件。如果事件被忽略,则不会发生任何事情。如果事件被接受,它将hide()小部件。

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

closeEvent(event)
Parameters:

事件QCloseEvent

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

另请参阅

close() QCloseEvent

focusNextPrevChild(next)
Parameters:

next – 布尔值

Return type:

布尔

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

有时,您会希望重新实现此函数,以便为您的窗口小部件及其子部件提供特殊的焦点处理。例如,一个网页浏览器可能会重新实现它,以向前或向后移动其当前的活动链接,并且仅在到达页面上最后一个或第一个链接时调用基本实现。

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

另请参阅

focusPolicy()

focusPolicy()
Return type:

FocusPolicy

另请参阅

setFocusPolicy()

属性 focusPolicyᅟ 的获取器。

focusWidget()
Return type:

QGraphicsWidget

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

另请参阅

focusItem() focusWidget()

font()
Return type:

QFont

另请参阅

setFont()

属性 fontᅟ 的获取器。

geometryChanged()

每当在setGeometry()中更改几何形状时,都会发出此信号。

属性 sizeᅟ 的通知信号。

getWindowFrameMargins()
Return type:

PyObject

获取小部件的窗口框架边距。边距存储在lefttoprightbottom中,作为指向qreals的指针。每个参数可以通过传递None省略

grabKeyboardEvent(event)
Parameters:

事件QEvent

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

另请参阅

grabKeyboard() grabMouse()

grabMouseEvent(event)
Parameters:

事件QEvent

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

另请参阅

grabMouse() grabKeyboard()

grabShortcut(sequence[, context=Qt.WindowShortcut])
Parameters:
Return type:

整数

向Qt的快捷方式系统添加快捷方式,该系统监视给定context中的给定sequence键序列。如果context是Qt::ApplicationShortcut,则快捷方式适用于整个应用程序。否则,它要么是本地于这个小部件的,即Qt::WidgetShortcut,要么是本地于窗口本身的,即Qt::WindowShortcut。对于不属于窗口的小部件(即顶级小部件及其子部件),Qt::WindowShortcut快捷方式适用于场景。

如果同一个键sequence被多个小部件捕获,当键sequence发生时,QEvent::Shortcut事件会以非确定性的顺序发送给所有适用的小部件,但“ambiguous”标志设置为true。

警告

通常你不需要使用这个函数;相反,创建带有你需要的快捷键序列的QAction(如果你还想要等效的菜单选项和工具栏按钮),或者如果你只需要键序列,创建QShortcut。QAction和QShortcut都为你处理所有的事件过滤,并提供在用户触发键序列时触发的信号,因此比这个低级函数更容易使用。

hideEvent(event)
Parameters:

事件QHideEvent

此事件处理程序用于隐藏事件,在小部件被隐藏后传递,例如,当小部件先前显示时,已为小部件或其祖先之一调用了setVisible(false)。

你可以重新实现这个事件处理程序来检测你的小部件何时被隐藏。在event上调用QEvent::accept()或QEvent::ignore()没有效果。

initStyleOption(option)
Parameters:

选项QStyleOption

警告

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

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

样式选项属性

状态 & State_Enabled

对应于 isEnabled()

状态 & State_HasFocus

对应于 hasFocus()

状态 & State_MouseOver

对应于 isUnderMouse()

方向

对应于 layoutDirection()

rect

对应于 rect() .toRect()。

调色板

对应于 palette()

fontMetrics

对应于 QFontMetrics( font() )。

QGraphicsWidget 的子类应调用基类实现,然后使用 qstyleoption_cast <>() 测试 option 的类型,或在存储特定于小部件的选项之前测试 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)
Parameters:

将操作 action 插入到此小部件的操作列表中,位于操作 before 之前。如果 beforeNonebefore 不是此小部件的有效操作,则将操作追加到列表末尾。

一个 QGraphicsWidget 应该只有一个每个动作。

insertActions(before, actions)
Parameters:
  • 之前QAction

  • actions – QAction 的列表

将操作 actions 插入到此小部件的操作列表中,位于操作 before 之前。如果 beforeNonebefore 不是此小部件的有效操作,则追加该操作。

一个 QGraphicsWidget 最多可以拥有每种动作中的一个。

isActiveWindow()
Return type:

布尔

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

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

另请参阅

activeWindow() setActiveWindow() isActive()

layout()
Return type:

QGraphicsLayout

返回此小部件的布局,如果当前没有布局管理此小部件,则返回None

另请参阅

setLayout()

属性 layoutᅟ 的获取器。

layoutChanged()

属性 layoutᅟ 的通知信号。

layoutDirection()
Return type:

LayoutDirection

另请参阅

setLayoutDirection()

属性 layoutDirectionᅟ 的获取器。

moveEvent(event)
Parameters:

事件QGraphicsSceneMoveEvent

此事件处理程序用于GraphicsSceneMove事件,在小部件移动后(例如,其本地位置已更改)传递。

此事件仅在项目在本地移动时传递。调用setTransform()或移动项目的任何祖先不会影响项目的本地位置。

您可以重新实现此事件处理程序以检测小部件何时移动。在event上调用QEvent::accept()或QEvent::ignore()没有效果。

paintWindowFrame(painter, option[, widget=None])
Parameters:

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

你可以在QGraphicsWidget的子类中重新实现这个函数,以提供自定义的小部件窗口框架渲染。

另请参阅

paint()

palette()
Return type:

QPalette

另请参阅

setPalette()

属性 paletteᅟ 的获取器。

polishEvent()

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

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

propertyChange(propertyName, value)
Parameters:
  • propertyName – str

  • value – 对象

Return type:

对象

rect()
Return type:

QRectF

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

另请参阅

setGeometry() resize()

releaseShortcut(id)
Parameters:

id – int

从Qt的快捷方式系统中移除具有给定id的快捷方式。该小部件将不再接收该快捷方式键序列的QEvent::Shortcut事件(除非它有其他具有相同键序列的快捷方式)。

警告

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

removeAction(action)
Parameters:

动作QAction

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

resize(size)
Parameters:

大小QSizeF

属性 sizeᅟ 的设置器。

resize(w, h)
Parameters:
  • w – 浮点数

  • h – 浮点数

这是一个重载函数。

使用给定的widthw)和heighth)构造一个调整大小。这个便捷函数等同于调用resize(QSizeF(w, h))。

另请参阅

setGeometry() setTransform()

resizeEvent(event)
Parameters:

事件QGraphicsSceneResizeEvent

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

此事件仅在窗口小部件在本地调整大小时传递;在小部件或其任何祖先或视图上调用setTransform()不会影响小部件的本地大小。

您可以重新实现此事件处理程序以检测窗口小部件何时被调整大小。在event上调用QEvent::accept()或QEvent::ignore()没有效果。

另请参阅

geometry() setGeometry()

setAttribute(attribute[, on=true])
Parameters:

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

请参阅QGraphicsWidget的类文档,以获取支持的属性及其用途的完整列表。

setAutoFillBackground(enabled)
Parameters:

enabled – 布尔值

另请参阅

autoFillBackground()

属性 autoFillBackgroundᅟ 的设置器。

setContentsMargins(margins)
Parameters:

边距QMarginsF

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

内容边距由指定的布局用于定义子部件和布局的放置位置。边距对于将子部件限制在其自身几何形状的某一部分的部件特别有用。例如,带有布局的组框将子部件放置在其框架内,但在标题下方。

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

另请参阅

getContentsMargins() setGeometry()

setContentsMargins(left, top, right, bottom)
Parameters:
  • left – 浮点数

  • top – 浮点数

  • right – 浮点数

  • bottom – 浮点数

这是一个重载函数。

设置小部件的内容边距为 left, top, rightbottom

setFocusPolicy(policy)
Parameters:

策略FocusPolicy

另请参阅

focusPolicy()

属性 focusPolicyᅟ 的设置器。

setFont(font)
Parameters:

字体QFont

另请参阅

font()

属性 fontᅟ 的设置器。

setGeometry(x, y, w, h)
Parameters:
  • x – 浮点数

  • y – 浮点数

  • w – 浮点数

  • h – 浮点数

这个便捷函数等同于调用 setGeometry(QRectF( x, y, w, h))。

另请参阅

geometry() resize()

setLayout(layout)
Parameters:

布局QGraphicsLayout

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

所有当前由layout或其所有子布局管理的小部件,都会自动重新父级到此项目。然后布局将失效,并且子部件几何形状将根据此项目的geometry()和contentsMargins()进行调整。未由layout明确管理的子部件在分配给此小部件后不受布局影响。

QGraphicsWidget 拥有 layout 的所有权。

属性 layoutᅟ 的设置器。

setLayoutDirection(direction)
Parameters:

方向LayoutDirection

另请参阅

layoutDirection()

属性 layoutDirectionᅟ 的设置器。

setPalette(palette)
Parameters:

调色板QPalette

另请参阅

palette()

属性 paletteᅟ 的设置器。

setShortcutAutoRepeat(id[, enabled=true])
Parameters:
  • id – int

  • enabled – 布尔值

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

setShortcutEnabled(id[, enabled=true])
Parameters:
  • id – int

  • enabled – 布尔值

如果 enabled 为 true,则启用具有给定 id 的快捷方式;否则禁用该快捷方式。

警告

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

setStyle(style)
Parameters:

样式QStyle

将小部件的样式设置为 styleQGraphicsWidget 拥有 style 的所有权。

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

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

另请参阅

style()

static setTabOrder(first, second)
Parameters:

警告

本节包含从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

不是这样的:

# 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)
Parameters:

wFlagsWindowType 的组合

另请参阅

windowFlags()

属性 windowFlagsᅟ 的设置器。

setWindowFrameMargins(margins)
Parameters:

边距QMarginsF

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

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

setWindowFrameMargins(left, top, right, bottom)
Parameters:
  • left – 浮点数

  • top – 浮点数

  • right – 浮点数

  • bottom – 浮点数

这是一个重载函数。

将小部件的窗口框架边距设置为 left, top, rightbottom

setWindowTitle(title)
Parameters:

标题 – str

另请参阅

windowTitle()

属性 windowTitleᅟ 的设置器。

showEvent(event)
Parameters:

事件QShowEvent

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

您可以重新实现此事件处理程序以检测小部件何时显示。在event上调用QEvent::accept()或QEvent::ignore()没有效果。

size()
Return type:

QSizeF

属性 sizeᅟ 的获取器。

style()
Return type:

QStyle

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

另请参阅

setStyle()

testAttribute(attribute)
Parameters:

属性WidgetAttribute

Return type:

布尔

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

另请参阅

setAttribute()

ungrabKeyboardEvent(event)
Parameters:

事件QEvent

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

另请参阅

ungrabKeyboard() ungrabMouse()

ungrabMouseEvent(event)
Parameters:

事件QEvent

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

另请参阅

ungrabMouse() ungrabKeyboard()

unsetLayoutDirection()

属性 layoutDirectionᅟ 的重置功能。

unsetWindowFrameMargins()

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

windowFlags()
Return type:

WindowType的组合

另请参阅

setWindowFlags()

属性 windowFlagsᅟ 的获取器。

windowFrameEvent(e)
Parameters:

eQEvent

Return type:

布尔

此事件处理程序,用于event,如果此小部件是窗口,则接收窗口框架的事件。其基本实现提供了对默认窗口框架交互的支持,例如移动、调整大小等。

你可以在QGraphicsWidget的子类中重新实现这个处理程序,以提供你自己的自定义窗口框架交互支持。

如果event已被识别并处理,则返回true;否则,返回false

另请参阅

event()

windowFrameGeometry()
Return type:

QRectF

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

windowFrameRect()
Return type:

QRectF

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

windowFrameSectionAt(pos)
Parameters:

posQPointF

Return type:

WindowFrameSection

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

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

如果你想自定义窗口如何交互式地移动或调整大小,你可以重新实现这个函数。例如,如果你只想允许通过右下角调整窗口大小,你可以重新实现这个函数,使其对所有部分返回Qt::NoSection,除了Qt::BottomRightSection。

windowTitle()
Return type:

字符串

另请参阅

setWindowTitle()

属性 windowTitleᅟ 的获取器。

windowType()
Return type:

WindowType

返回小部件的窗口类型。

另请参阅

windowFlags() isWindow() isPanel()