- class QPaintDevice#
QPaintDevice
类是能够使用QPainter
绘制的对象的基础类。 更多…Inherited by:
QSvgGenerator
,QOpenGLPaintDevice
,QPicture
,QPagedPaintDevice
,QPrinter
,QPixmap
,QImage
,QBitmap
,QWidget
,QWizardPage
,QToolBar
,QTabWidget
,QTabBar
,QStatusBar
,QSplitterHandle
,QSplashScreen
,QSizeGrip
,QRubberBand
,QRhiWidget
,QProgressBar
,QMenuBar
,QMenu
,QMdiSubWindow
,QMainWindow
,QLineEdit
,QKeySequenceEdit
,QGroupBox
,QFrame
,QToolBox
,QStackedWidget
,QSplitter
,QLabel
,QLCDNumber
,QAbstractScrollArea
,QTextEdit
,QTextBrowser
,QScrollArea
,QPlainTextEdit
,QMdiArea
,QGraphicsView
,QAbstractItemView
,QTreeView
,QTreeWidget
,QHelpContentWidget
,QTableView
,QTableWidget
,QListView
,QUndoView
,QListWidget
,QHelpIndexWidget
,QHeaderView
,QColumnView
,QPdfView
,QFocusFrame
,QDockWidget
,QDialogButtonBox
,QDialog
,QWizard
,QProgressDialog
,QMessageBox
,QInputDialog
,QFontDialog
,QErrorMessage
,QColorDialog
,QPrintPreviewDialog
,QPageSetupDialog
,QAbstractPrintDialog
,QPrintDialog
,QComboBox
,QFontComboBox
,QCalendarWidget
,QAbstractSpinBox
,QSpinBox
,QDoubleSpinBox
,QDateTimeEdit
,QTimeEdit
,QDateEdit
,QAbstractSlider
,QSlider
,QScrollBar
,QDial
,QAbstractButton
,QToolButton
,QRadioButton
,QPushButton
,QCommandLinkButton
,QCheckBox
,QSvgWidget
,QQuickWidget
,QAbstract3DGraph
,Q3DSurface
,Q3DScatter
,Q3DBars
,QPrintPreviewWidget
,QPdfPageSelector
,QOpenGLWidget
,QVideoWidget
,QHelpSearchResultWidget
,QHelpSearchQueryWidget
,QHelpFilterSettingsWidget
,QDesignerWidgetBoxInterface
,QDesignerPropertyEditorInterface
,QDesignerObjectInspectorInterface
,QDesignerFormWindowInterface
,QDesignerActionEditorInterface
,QPaintDeviceWindow
,QOpenGLWindow
,QRasterWindow
,QPdfWriter
,QFileDialog
,QWebEngineView
,QChartView
概要#
方法#
def
__init__()
def
colorCount()
def
depth()
def
height()
def
heightMM()
def
logicalDpiX()
def
logicalDpiY()
def
paintingActive()
定义
width()
定义
widthMM()
虚函数#
定义
devType()
定义
metric()
定义
redirected()
静态函数#
注解
本文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单来告诉我们
详细描述#
绘图设备是一个可以用QPainter绘制的二维空间的抽象。它的默认坐标系原点位于左上角位置。X向右增加,Y向下增加。单位是像素。
QPaintDevice
的绘图功能目前由QWidget、QImage
、QPixmap
、QPicture
和QPrinter子类实现。要实现对新后端的支持,您必须从
QPaintDevice
派生,并重新实现虚拟函数paintEngine()
,以告诉QPainter
应该使用哪个绘图引擎来绘制到特定的设备上。注意,您还必须创建相应的绘图引擎以能够在设备上绘图,即从QPaintEngine
派生,并重新实现其虚拟函数。警告
Qt要求在创建任何绘图设备之前存在
QGuiApplication
对象。绘图设备访问窗口系统资源,而这些资源在创建应用程序对象之前尚未初始化。《code class="xref py py-class docutils literal notranslate">QPaintDevice`类提供了一些返回各种设备度量值的功能:`
depth()
`函数返回其位深度(位数平面数)。`height()
`函数返回其在默认坐标系单位中的高度(例如,对于QPixmap
和QWidget)而`heightMM()
`返回设备高度(毫米)。类似地,`width()
`和`widthMM()
`函数分别返回设备宽度默认坐标系单位以及毫米。或者,您可以使用受保护的函数`metric()
`,通过指定所需的PaintDeviceMetric
作为参数来获取度量信息。《logicalDpiX()`》和《logicalDpiY()`》函数返回设备以点每英寸(dpi)为单位横向和纵向的分辨率。《physicalDpiX()`》和《physicalDpiY()`》函数同样也返回设备以点每英寸(dpi)为单位的分辨率,但请注意,如果逻辑分辨率和物理分辨率不同,相应的《QPaintEngine》必须处理映射。最后,《colorCount()`》函数返回可用于绘制设备的不同颜色数量。
参见
QPaintEngine
《QPainter》坐标系统绘制系统- class PaintDeviceMetric#
描述了绘制设备的不同度量。
常量
描述
QPaintDevice.PdmWidth
绘制设备以默认坐标系统单位(例如《QPixmap》和《QWidget》)的宽度。也参见《width()`》。
QPaintDevice.PdmHeight
绘制设备以默认坐标系统单位(例如《QPixmap》和《QWidget》)的高度。也参见《height()`》。
QPaintDevice.PdmWidthMM
绘制设备以毫米为单位的宽度。也参见《widthMM()`》。
QPaintDevice.PdmHeightMM
绘制设备以毫米为单位的高度。也参见《heightMM()`》。
QPaintDevice.PdmNumColors
绘制设备可用的不同颜色数量。也参见《colorCount()`》。
QPaintDevice.PdmDepth
绘制设备的位深(位数平面数)。也参见《depth()`》。
QPaintDevice.PdmDpiX
设备以点每英寸(dpi)为单位横向的分辨率。也参见《logicalDpiX()`》。
QPaintDevice.PdmDpiY
设备每英寸点数(dpi)的垂直分辨率。也请参考
logicalDpiY()
.QPaintDevice.PdmPhysicalDpiX
设备每英寸点数的水平分辨率。也请参考
physicalDpiX()
.QPaintDevice.PdmPhysicalDpiY
设备每英寸点数的垂直分辨率。也请参考
physicalDpiY()
.QPaintDevice.PdmDevicePixelRatio
设备的设备像素比率。常见的值是1,用于常规dpi显示器,以及2用于高dpi的“视网膜”显示器。
QPaintDevice.PdmDevicePixelRatioScaled
设备的缩放设备像素比率。这与PdmDevicePixelRatio相同,但除了值通过一个常量因子进行缩放以支持具有分数缩放因子的绘图设备外,此枚举值与PdmDevicePixelRatio不同。使用的常量缩放因子是devicePixelRatioFScale()。这个枚举值是在Qt 5.6中引入的。
- PySide6.QtGui.QPaintDevice.painters#
- __init__()#
构建一个绘图设备。这个构造函数只能从
QPaintDevice
的子类中调用。- colorCount()#
- 返回类型:
int
返回绘图设备可用的颜色数量。如果可用的颜色数量太大,无法由int数据类型表示,则返回INT_MAX。
- depth()#
- 返回类型:
int
返回绘图设备的光栅深度(比特面数量)。
- devType()#
- 返回类型:
int
- devicePixelRatio()#
- 返回类型:
float
返回设备的设备像素比率。
常见值是1,用于常规dpi显示器,以及2用于高dpi的“视网膜”显示器。
- devicePixelRatioF()#
- 返回类型:
float
以浮点数形式返回设备的设备像素比率。
- 静态devicePixelRatioFScale()#
- 返回类型:
float
- height()#
- 返回类型:
int
返回画图设备在默认坐标系单位(例如对于
QPixmap
和 QWidget)的高度。参见
- heightMM()#
- 返回类型:
int
返回画图设备的高度(以毫米为单位)。由于平台限制,可能无法使用此函数确定屏幕上小部件的实际物理大小。
参见
- logicalDpiX()#
- 返回类型:
int
返回设备水平分辨率的点每英寸数,该分辨率用于计算字体大小。对于 X11,这通常与可以从
widthMM()
计算出的结果相同。注意,如果
logicalDpiX
() 不等于physicalDpiX
(),相应的QPaintEngine
必须处理分辨率映射。- logicalDpiY()#
- 返回类型:
int
返回设备垂直分辨率的点每英寸数,该分辨率用于计算字体大小。对于 X11,这通常与可以从
heightMM()
计算出的结果相同。注意,如果
logicalDpiY
() 不等于physicalDpiY
(),相应的QPaintEngine
必须处理分辨率映射。- metric(metric)#
- 参数:
metric –
PaintDeviceMetric
- 返回类型:
int
返回给定画图设备的
metric
的度量信息。- 摘要 paintEngine()#
- 返回类型:
返回用于在设备上绘制的绘图引擎的指针。
- paintingActive()#
- 返回类型:
bool
如果设备当前正在绘制,则返回
true
,即有人已调用begin()
但尚未调用end()
对此设备进行绘制;否则返回false
。参见
- physicalDpiX()#
- 返回类型:
int
返回设备每英寸点的水平分辨率。例如,在打印时,此分辨率指物理打印机的分辨率。另一方面,逻辑DPI是指实际绘图引擎使用的分辨率。
请注意,如果
logicalDpiX()
与physicalDpiX()
不相等,则相应的QPaintEngine
必须处理分辨率映射。- physicalDpiY()#
- 返回类型:
int
返回设备每英寸点的水平分辨率。例如,在打印时,此分辨率指物理打印机的分辨率。另一方面,逻辑DPI是指实际绘图引擎使用的分辨率。
请注意,如果
logicalDpiY()
与physicalDpiY()
不相等,则相应的QPaintEngine
必须处理分辨率映射。- 返回类型:
- width()#
- 返回类型:
int
返回绘图设备在默认坐标系单位(例如,对于
QPixmap
和 QWidget)中的宽度。参见
- widthMM()#
- 返回类型:
int
返回绘画设备的宽度(毫米)。由于平台限制,可能无法使用此函数来确定屏幕上小部件的实际物理大小。
参见