PySide6.QtWidgets.QGraphicsWidget¶
- class QGraphicsWidget¶
QGraphicsWidget
类是QGraphicsScene
中所有小部件项的基类。更多…继承者:
QGraphicsProxyWidget
,QLegend
,QChart
,QPolarChart
概要¶
属性¶
autoFillBackgroundᅟ
- 是否自动填充小部件背景focusPolicyᅟ
- 小部件接受键盘焦点的方式fontᅟ
- 小部件的字体geometryᅟ
- 小部件的几何形状layoutᅟ
- 小部件的布局layoutDirectionᅟ
- 此小部件的布局方向maximumSizeᅟ
- 小部件的最大尺寸minimumSizeᅟ
- 控件的最小尺寸paletteᅟ
- 小部件的调色板preferredSizeᅟ
- 小部件的首选大小sizeᅟ
- 小部件的大小sizePolicyᅟ
- 小部件的大小策略windowFlagsᅟ
- 小部件的窗口标志windowTitleᅟ
- 此属性保存窗口标题(标题)
方法¶
def
__init__()
def
actions()
def
addAction()
def
addActions()
def
adjustSize()
def
focusPolicy()
def
focusWidget()
def
font()
def
grabShortcut()
def
insertAction()
def
insertActions()
def
isActiveWindow()
def
layout()
def
palette()
def
rect()
def
removeAction()
def
resize()
def
setAttribute()
def
setFocusPolicy()
def
setFont()
def
setGeometry()
def
setLayout()
def
setPalette()
def
setStyle()
def
setWindowFlags()
def
setWindowTitle()
def
size()
def
style()
def
testAttribute()
def
windowFlags()
def
windowTitle()
def
windowType()
虚拟方法¶
def
changeEvent()
def
closeEvent()
def
grabMouseEvent()
def
hideEvent()
def
moveEvent()
def
polishEvent()
def
propertyChange()
def
resizeEvent()
def
showEvent()
插槽¶
def
close()
信号¶
def
layoutChanged()
静态函数¶
def
setTabOrder()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QGraphicsWidget
是一个扩展的基础项,它提供了比QGraphicsItem
更多的功能。它在很多方面类似于QWidget
:具有定义的
geometry()
。支持使用
setLayout()
和layout()
进行布局。支持使用
grabShortcut()
和insertAction()
的快捷方式和操作
与
QGraphicsItem
不同,QGraphicsWidget
不是一个抽象类;你可以创建QGraphicsWidget
的实例而不必继承它。这种方法对于仅用于将子部件组织到布局中的部件非常有用。QGraphicsWidget
可以用作您自定义项目的基础项目,如果您需要高级输入焦点处理,例如标签焦点和激活,或布局。由于
QGraphicsWidget
类似于QWidget
并且具有相似的API,因此将小部件从QWidget
移植到QGraphicsWidget
比移植到QGraphicsItem
更容易。注意
QWidget
-based 部件可以直接嵌入到QGraphicsScene
中,使用QGraphicsProxyWidget
。QGraphicsWidget
和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:
此属性保存小部件的字体。
此属性提供小部件的字体。
QFont 由显式定义的字体属性和从父部件隐式继承的属性组成。因此,font() 返回的字体可能与通过 setFont() 设置的字体不同。这种机制允许您定义字体中的单个条目,而不影响字体的继承条目。
当小部件的字体发生变化时,它会根据其父小部件解析其条目。如果小部件没有父小部件,它会根据场景解析其条目。然后,小部件会向自己发送一个FontChange事件,并通知其所有后代,以便它们也可以解析其字体。
默认情况下,此属性包含应用程序的默认字体。
此属性保存小部件的几何信息。
将项目的几何形状设置为
rect
。调用此函数后,项目的位置和大小会被修改。项目首先被移动,然后调整大小。调用此函数的副作用是,小部件将收到一个移动事件和一个调整大小事件。此外,如果小部件分配了布局,布局将被激活。
另请参阅
- Access functions:
- property layoutᅟ: QGraphicsLayout¶
此属性保存小部件的布局。
在分配新布局之前,任何现有的布局管理器都会被删除。如果
layout
是None
,则小部件将没有布局。现有的子部件的几何形状将不受影响。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:
此属性保存小部件的最大尺寸。
访问函数:
此属性保存小部件的最小尺寸。
访问函数:
此属性保存小部件的调色板。
此属性提供了小部件的调色板。调色板为颜色组(例如,QPalette::Button)和状态(例如,QPalette::Inactive)提供了颜色和画笔,大致定义了小部件及其子部件的外观。
QPalette 由显式定义的颜色组和从部件父级隐式继承的组组成。因此,palette() 可以返回与 setPalette() 设置的不同的调色板。这种方案允许您在调色板中定义单个条目,而不影响调色板的继承条目。
当小部件的调色板发生变化时,它会根据其父小部件解析其条目,或者如果没有父小部件,则根据场景解析。然后,它会向自己发送一个PaletteChange事件,并通知所有后代,以便它们也可以解析自己的调色板。
默认情况下,此属性包含应用程序的默认调色板。
- Access functions:
此属性保存小部件的首选大小。
访问函数:
此属性保存小部件的大小。
调用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:
parent –
QGraphicsItem
wFlags –
WindowType
的组合
构建一个
QGraphicsWidget
实例。可选的parent
参数传递给QGraphicsItem
的构造函数。可选的wFlags
参数指定小部件的窗口标志(例如,小部件是否应为窗口、工具、弹出窗口等)。返回此小部件的(可能为空的)操作列表。
另请参阅
insertAction()
removeAction()
actions()
associatedGraphicsWidgets()
将操作
action
添加到此小部件的操作列表中。所有的QGraphicsWidget都有一个QActions列表,但它们可以以许多不同的图形方式表示。QAction列表的默认用途(由
actions()
返回)是创建一个上下文QMenu
。一个
QGraphicsWidget
应该只拥有每个动作的一个实例,添加一个已经存在的动作不会导致该动作在部件中出现两次。- addActions(actions)¶
- Parameters:
actions – QAction 的列表
将操作
actions
添加到此小部件的操作列表中。- adjustSize()¶
调整小部件的大小为其有效的首选大小提示。
当项目首次显示时,此函数会被隐式调用。
另请参阅
effectiveSizeHint()
最小尺寸
- autoFillBackground()¶
- Return type:
布尔
属性
autoFillBackgroundᅟ
的获取器。可以重新实现此事件处理程序以处理状态更改。
在此事件中更改的状态可以通过
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
,可以在子类中重新实现以接收小部件关闭事件。默认实现接受该事件。另请参阅
- focusNextPrevChild(next)¶
- Parameters:
next – 布尔值
- Return type:
布尔
找到一个新部件以给予键盘焦点,适用于Tab和Shift+Tab,如果可以找到新部件,则返回
true
;否则返回false
。如果next
为true,此函数向前搜索;如果next
为false,则向后搜索。有时,您会希望重新实现此函数,以便为您的窗口小部件及其子部件提供特殊的焦点处理。例如,一个网页浏览器可能会重新实现它,以向前或向后移动其当前的活动链接,并且仅在到达页面上最后一个或第一个链接时调用基本实现。
子部件在其父部件上调用focusNextPrevChild(),但只有包含子部件的窗口决定将焦点重定向到哪里。通过为对象重新实现此函数,您可以控制所有子部件的焦点遍历。
另请参阅
- focusPolicy()¶
- Return type:
另请参阅
属性
focusPolicyᅟ
的获取器。- focusWidget()¶
- Return type:
如果此小部件、此小部件的子部件或后代部件当前具有输入焦点,此函数将返回指向该小部件的指针。如果没有后代小部件具有输入焦点,则返回
None
。另请参阅
属性
fontᅟ
的获取器。- geometryChanged()¶
每当在
setGeometry()
中更改几何形状时,都会发出此信号。属性
sizeᅟ
的通知信号。- getWindowFrameMargins()¶
- Return type:
PyObject
获取小部件的窗口框架边距。边距存储在
left
、top
、right
和bottom
中,作为指向qreals的指针。每个参数可以通过传递None
来省略。此事件处理程序,用于
event
,可以在子类中重新实现以接收QEvent::GrabKeyboard事件的通知。另请参阅
grabKeyboard()
grabMouse()
此事件处理程序,用于
event
,可以在子类中重新实现以接收QEvent::GrabMouse事件的通知。另请参阅
grabMouse()
grabKeyboard()
- grabShortcut(sequence[, context=Qt.WindowShortcut])¶
- Parameters:
sequence –
QKeySequence
上下文 –
ShortcutContext
- 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() ...
另请参阅
将操作
action
插入到此小部件的操作列表中,位于操作before
之前。如果before
是None
或before
不是此小部件的有效操作,则将操作追加到列表末尾。一个
QGraphicsWidget
应该只有一个每个动作。将操作
actions
插入到此小部件的操作列表中,位于操作before
之前。如果before
是None
或before
不是此小部件的有效操作,则追加该操作。一个
QGraphicsWidget
最多可以拥有每种动作中的一个。- isActiveWindow()¶
- Return type:
布尔
如果此小部件的窗口处于活动窗口中,或者如果小部件没有窗口但处于活动场景中(即当前具有焦点的场景),则返回
true
。活动窗口是指包含当前具有输入焦点的子小部件的窗口,或者本身具有输入焦点的窗口。
另请参阅
activeWindow()
setActiveWindow()
isActive()
- layout()¶
- Return type:
返回此小部件的布局,如果当前没有布局管理此小部件,则返回
None
。另请参阅
属性
layoutᅟ
的获取器。- layoutChanged()¶
属性
layoutᅟ
的通知信号。- layoutDirection()¶
- Return type:
另请参阅
属性
layoutDirectionᅟ
的获取器。- moveEvent(event)¶
- Parameters:
此事件处理程序用于GraphicsSceneMove事件,在小部件移动后(例如,其本地位置已更改)传递。
此事件仅在项目在本地移动时传递。调用
setTransform()
或移动项目的任何祖先不会影响项目的本地位置。您可以重新实现此事件处理程序以检测小部件何时移动。在
event
上调用QEvent::accept()或QEvent::ignore()没有效果。- paintWindowFrame(painter, option[, widget=None])¶
- Parameters:
画家 –
QPainter
option –
QStyleOptionGraphicsItem
widget –
QWidget
此虚拟函数由
QGraphicsScene
调用,用于使用painter
、option
和widget
在本地坐标中绘制窗口的窗口框架。基础实现使用当前样式来渲染框架和标题栏。你可以在
QGraphicsWidget
的子类中重新实现这个函数,以提供自定义的小部件窗口框架渲染。另请参阅
- palette()¶
- Return type:
另请参阅
属性
paletteᅟ
的获取器。- polishEvent()¶
此事件由场景在项目构建后的某个时刻传递给项目,但在项目显示或通过场景访问之前。您可以使用此事件处理程序来执行需要在项目完全构建后才能进行的最后时刻的初始化。
基础实现不执行任何操作。
- propertyChange(propertyName, value)¶
- Parameters:
propertyName – str
value – 对象
- Return type:
对象
返回项目的局部矩形作为QRectF。此函数等同于QRectF(QPointF(),
size()
)。另请参阅
- releaseShortcut(id)¶
- Parameters:
id – int
从Qt的快捷方式系统中移除具有给定
id
的快捷方式。该小部件将不再接收该快捷方式键序列的QEvent::Shortcut事件(除非它有其他具有相同键序列的快捷方式)。警告
通常不需要使用此函数,因为Qt的快捷方式系统会在其父部件被销毁时自动移除快捷方式。最好使用QAction或QShortcut来处理快捷方式,因为它们比这个低级函数更易于使用。还要注意,这是一个昂贵的操作。
从该小部件的操作列表中移除操作
action
。属性
sizeᅟ
的设置器。- resize(w, h)
- Parameters:
w – 浮点数
h – 浮点数
这是一个重载函数。
使用给定的
width
(w
)和height
(h
)构造一个调整大小。这个便捷函数等同于调用resize(QSizeF(w, h))。另请参阅
setGeometry()
setTransform()
- resizeEvent(event)¶
- Parameters:
此事件处理程序用于GraphicsSceneResize事件,在小部件调整大小后(即其本地大小已更改)传递。
event
包含旧大小和新大小。此事件仅在窗口小部件在本地调整大小时传递;在小部件或其任何祖先或视图上调用
setTransform()
不会影响小部件的本地大小。您可以重新实现此事件处理程序以检测窗口小部件何时被调整大小。在
event
上调用QEvent::accept()或QEvent::ignore()没有效果。另请参阅
- setAttribute(attribute[, on=true])¶
- Parameters:
属性 –
WidgetAttribute
on – 布尔值
如果
on
为真,此函数启用attribute
;否则attribute
被禁用。请参阅
QGraphicsWidget
的类文档,以获取支持的属性及其用途的完整列表。- setAutoFillBackground(enabled)¶
- Parameters:
enabled – 布尔值
另请参阅
属性
autoFillBackgroundᅟ
的设置器。将小部件的内容边距设置为
margins
。内容边距由指定的布局用于定义子部件和布局的放置位置。边距对于将子部件限制在其自身几何形状的某一部分的部件特别有用。例如,带有布局的组框将子部件放置在其框架内,但在标题下方。
更改小部件的内容边距将始终触发
update()
,并且任何分配的布局将自动激活。然后,小部件将收到一个ContentsRectChange事件。另请参阅
getContentsMargins()
setGeometry()
- setContentsMargins(left, top, right, bottom)
- Parameters:
left – 浮点数
top – 浮点数
right – 浮点数
bottom – 浮点数
这是一个重载函数。
设置小部件的内容边距为
left
,top
,right
和bottom
。- setFocusPolicy(policy)¶
- Parameters:
策略 –
FocusPolicy
另请参阅
属性
focusPolicyᅟ
的设置器。属性
fontᅟ
的设置器。- setGeometry(x, y, w, h)¶
- Parameters:
x – 浮点数
y – 浮点数
w – 浮点数
h – 浮点数
这个便捷函数等同于调用 setGeometry(QRectF(
x
,y
,w
,h
))。另请参阅
- setLayout(layout)¶
- Parameters:
布局 –
QGraphicsLayout
将此小部件的布局设置为
layout
。在分配新布局之前,任何现有的布局管理器都会被删除。如果layout
是None
,则小部件将没有布局。现有的子小部件的几何形状将不受影响。所有当前由
layout
或其所有子布局管理的小部件,都会自动重新父级到此项目。然后布局将失效,并且子部件几何形状将根据此项目的geometry()
和contentsMargins()进行调整。未由layout
明确管理的子部件在分配给此小部件后不受布局影响。QGraphicsWidget
拥有layout
的所有权。属性
layoutᅟ
的设置器。- setLayoutDirection(direction)¶
- Parameters:
方向 –
LayoutDirection
另请参阅
属性
layoutDirectionᅟ
的设置器。属性
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来处理快捷键,因为它们比这个低级函数更容易使用。
将小部件的样式设置为
style
。QGraphicsWidget
不拥有style
的所有权。如果没有分配样式,或者
style
是None
,小部件将使用style()
(如果已设置)。否则,小部件将使用style()
。如果
style
不是None
,此函数将设置Qt::WA_SetStyle属性;否则它将清除该属性。另请参阅
- static setTabOrder(first, second)¶
- Parameters:
第一个 –
QGraphicsWidget
second –
QGraphicsWidget
警告
本节包含从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
如果
first
是None
,这表示当场景获得 Tab 焦点时(即用户按下 Tab 键使焦点进入场景),second
应该是第一个接收输入焦点的小部件。如果second
是None
,这表示当场景获得 BackTab 焦点时,first
应该是第一个获得焦点的小部件。默认情况下,标签顺序是使用小部件创建顺序隐式定义的。
另请参阅
- setWindowFlags(wFlags)¶
- Parameters:
wFlags –
WindowType
的组合
另请参阅
属性
windowFlagsᅟ
的设置器。将小部件的窗口框架边距设置为
margins
。默认的框架边距由样式提供,并且它们取决于当前的窗口标志。如果你想绘制自己的窗口装饰,你可以设置自己的框架边距来覆盖默认边距。
- setWindowFrameMargins(left, top, right, bottom)
- Parameters:
left – 浮点数
top – 浮点数
right – 浮点数
bottom – 浮点数
这是一个重载函数。
将小部件的窗口框架边距设置为
left
,top
,right
和bottom
。- setWindowTitle(title)¶
- Parameters:
标题 – str
另请参阅
属性
windowTitleᅟ
的设置器。- showEvent(event)¶
- Parameters:
事件 –
QShowEvent
此事件处理程序用于显示事件,在小部件显示之前传递,例如,当小部件之前被隐藏时,已为小部件或其祖先之一调用了setVisible(true)。
您可以重新实现此事件处理程序以检测小部件何时显示。在
event
上调用QEvent::accept()或QEvent::ignore()没有效果。属性
sizeᅟ
的获取器。返回指向小部件样式的指针。如果此小部件没有显式分配的样式,则返回场景的样式。反过来,如果场景没有分配任何样式,此函数返回
style()
。另请参阅
- testAttribute(attribute)¶
- Parameters:
属性 –
WidgetAttribute
- Return type:
布尔
如果此小部件的
attribute
已启用,则返回true
;否则,返回false
。另请参阅
此事件处理程序,用于
event
,可以在子类中重新实现以接收QEvent::UngrabKeyboard事件的通知。另请参阅
ungrabKeyboard()
ungrabMouse()
此事件处理程序,用于
event
,可以在子类中重新实现以接收QEvent::UngrabMouse事件的通知。另请参阅
ungrabMouse()
ungrabKeyboard()
- unsetLayoutDirection()¶
属性
layoutDirectionᅟ
的重置功能。- unsetWindowFrameMargins()¶
将窗口框架边距重置为样式提供的默认值。
- windowFlags()¶
- Return type:
WindowType
的组合
另请参阅
属性
windowFlagsᅟ
的获取器。此事件处理程序,用于
event
,如果此小部件是窗口,则接收窗口框架的事件。其基本实现提供了对默认窗口框架交互的支持,例如移动、调整大小等。你可以在
QGraphicsWidget
的子类中重新实现这个处理程序,以提供你自己的自定义窗口框架交互支持。如果
event
已被识别并处理,则返回true
;否则,返回false
。另请参阅
event()
返回小部件在父坐标中的几何形状,包括任何窗口框架。
返回小部件的本地矩形,包括任何窗口框架。
返回位于位置
pos
的窗口框架部分,如果该位置没有窗口框架部分,则返回 Qt::NoSection。此函数用于
QGraphicsWidget
的窗口框架交互的基础实现。如果你想自定义窗口如何交互式地移动或调整大小,你可以重新实现这个函数。例如,如果你只想允许通过右下角调整窗口大小,你可以重新实现这个函数,使其对所有部分返回Qt::NoSection,除了Qt::BottomRightSection。
- windowTitle()¶
- Return type:
字符串
另请参阅
属性
windowTitleᅟ
的获取器。- windowType()¶
- Return type:
返回小部件的窗口类型。
另请参阅
windowFlags()
isWindow()
isPanel()