class QStylePainter#

QStylePainter类是一个方便的类,用于在控件内绘制QStyle元素。 更多...

Inheritance diagram of PySide6.QtWidgets.QStylePainter

概要#

方法#

注意

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

详细描述#

警告

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

QStylePainter 继承自QPainter,并包含一系列基于 QStyle API实现的draw...() 高级函数。使用QStylePainter的优势在于参数列表显著缩短。而在使用QStyle对象时,必须能够使用任何画家在任何小部件上绘制(因为应用程序通常有一个由所有小部件共享的QStyle对象),而QStylePainter则使用小部件初始化,消除了在每次函数调用时指定QWidget、QPainter和QStyle的需要。

直接使用QStyle的示例

def paintEvent(self, */):

    painter = QPainter(self)
    option = QStyleOptionFocusRect()
    option.initFrom(self)
    option.backgroundColor = palette().color(QPalette.Background)
    style().drawPrimitive(QStyle.PE_FrameFocusRect, option, painter, self)

使用QStylePainter的示例

def paintEvent(self, */):
painter = QStylePainter(self)
option = QStyleOptionFocusRect()
option.initFrom(self)
option.backgroundColor = palette().color(QPalette.Background)
painter.drawPrimitive(QStyle.PE_FrameFocusRect, option)

另请参阅

QStyle QStyleOption

__init__()#

构造一个 QStylePainter

__init__(pd, w)
参数:

使用代码为画布设备的pd和代码的属性构建QStylePainter

__init__(w)
参数:

wQWidget

使用小部件widget作为其画布设备的QStylePainter

begin(pd, w)#
参数:
返回类型:

布尔型

这是一个重载函数。

开始对绘画设备 pd 进行绘制操作,就像是在绘制 widget 一样。

此函数在带有 QPaintDevice 和 QWidget 的构造函数中自动调用。

begin(w)
参数:

wQWidget

返回类型:

布尔型

开始对指定的 widget 进行绘制操作。如果绘制器准备就绪则返回 true,否则返回 false

此函数在带有 QWidget 的构造函数中自动调用。

drawComplexControl(cc, opt)#
参数:

使用小部件的样式绘制根据 QStyleOptionComplex option 指定的复杂控件 cc

drawControl(ce, opt)#
参数:

使用小部件的样式绘制根据 QStyleOption option 指定的控件元素 ce

drawItemPixmap(r, flags, pixmap)#
参数:

pixmap 绘制到矩形区域 rect。图像的对齐方式根据 flags 进行。

另请参阅

drawItemPixmap() Alignment

drawItemText(r, flags, pal, enabled, text[, textRole=QPalette.NoRole])#
参数:

在矩形区域 rect 和调色板 pal 中绘制 text。文本的对齐和换行根据 flags 进行。

textRole 来指定画笔颜色。布尔型的 enabled 表示项目是否启用;在重写时,这个布尔型应该影响项目的绘制方式。

另请参阅

drawItemText() Alignment

drawPrimitive(pe, opt)#
参数:

使用小部件的样式绘制由 QStyleOption option 指定的原语元素 pe

另请参阅

drawPrimitive()

style()#
返回类型:

QStyle

返回 QStylePainter 当前使用的样式。