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