PySide6.QtGui.QPaintDevice¶
- 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,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()def
physicalDpiX()def
physicalDpiY()def
width()def
widthMM()
虚拟方法¶
def
devType()def
initPainter()def
metric()def
paintEngine()def
redirected()def
sharedPainter()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
绘图设备是一个二维空间的抽象,可以使用
QPainter在其上进行绘制。其默认坐标系的原点位于左上角。X向右增加,Y向下增加。单位是一个像素。QPaintDevice的绘图功能目前由 QWidget、QImage、QPixmap、QPicture和 QPrinter 子类实现。要实现对新后端的支持,您必须从
QPaintDevice派生,并重新实现虚拟函数paintEngine(),以告诉QPainter应该使用哪种绘图引擎在此特定设备上绘制。请注意,您还必须创建一个相应的绘图引擎以便能够在设备上绘制,即从QPaintEngine派生并重新实现其虚拟函数。警告
Qt要求在创建任何绘图设备之前必须存在一个
QGuiApplication对象。绘图设备访问窗口系统资源,而这些资源在应用程序对象创建之前不会被初始化。QPaintDevice类提供了几个函数来返回各种设备指标:depth()函数返回其位深度(位平面数)。height()函数返回其在默认坐标系单位中的高度(例如,QPixmap和 QWidget 的像素),而heightMM()返回设备的高度(以毫米为单位)。同样,width()和widthMM()函数分别返回设备在默认坐标系单位和毫米中的宽度。或者,可以使用受保护的metric()函数,通过指定所需的PaintDeviceMetric作为参数来检索指标信息。logicalDpiX()和logicalDpiY()函数返回设备的水平和垂直分辨率,单位为每英寸点数。physicalDpiX()和physicalDpiY()函数也返回设备的分辨率,单位为每英寸点数,但请注意,如果逻辑分辨率和物理分辨率不同,相应的QPaintEngine必须处理映射。最后,colorCount()函数返回绘图设备可用的不同颜色数量。另请参阅
- class PaintDeviceMetric¶
描述绘图设备的各种指标。
常量
描述
QPaintDevice.PdmWidth
QPaintDevice.PdmHeight
QPaintDevice.PdmWidthMM
绘画设备的宽度,以毫米为单位。另请参阅
widthMM()。QPaintDevice.PdmHeightMM
绘画设备的高度,以毫米为单位。另请参阅
heightMM()。QPaintDevice.PdmNumColors
绘图设备可用的不同颜色数量。另请参阅
colorCount()。QPaintDevice.PdmDepth
绘图设备的位深度(位平面数)。另请参阅
depth()。QPaintDevice.PdmDpiX
设备的水平分辨率,单位为每英寸点数。另请参阅
logicalDpiX()。QPaintDevice.PdmDpiY
设备的垂直分辨率,单位为每英寸点数。另请参阅
logicalDpiY()。QPaintDevice.PdmPhysicalDpiX
设备的水平分辨率,单位为每英寸点数。另请参阅
physicalDpiX()。QPaintDevice.PdmPhysicalDpiY
设备的垂直分辨率,单位为每英寸点数。另请参阅
physicalDpiY()。QPaintDevice.PdmDevicePixelRatio
设备的设备像素比。常见值为1用于普通dpi显示器,2用于高dpi“视网膜”显示器。
QPaintDevice.PdmDevicePixelRatioScaled
设备的缩放设备像素比。这与PdmDevicePixelRatio相同,只是该值通过一个常数因子进行缩放,以支持具有分数比例因子的绘制设备。使用的常数缩放因子是devicePixelRatioFScale()。此枚举值在Qt 5.6中引入。
QPaintDevice.PdmDevicePixelRatioF_EncodedA
此枚举项与相应的
B项一起用于设备的设备像素比,作为一个编码的double浮点值。支持分数DPR值的QPaintDevice子类应在其重写的metric()函数中实现对这些枚举项的支持。返回值应为encodeMetricF()函数的结果。QPaintDevice.PdmDevicePixelRatioF_EncodedB
参见 PdmDevicePixelRatioF_EncodedA。
- PySide6.QtGui.QPaintDevice.painters¶
- __init__()¶
构造一个绘图设备。此构造函数只能从
QPaintDevice的子类中调用。- colorCount()¶
- Return type:
整数
返回绘图设备可用的不同颜色的数量。如果可用颜色的数量太大,无法用int数据类型表示,则将返回INT_MAX。
- depth()¶
- Return type:
整数
返回绘图设备的位深度(位平面数)。
- devType()¶
- Return type:
整数
- devicePixelRatio()¶
- Return type:
浮点数
返回设备的设备像素比。
常见值为1用于普通dpi显示器,2用于高dpi“视网膜”显示器。
- devicePixelRatioF()¶
- Return type:
浮点数
返回设备的设备像素比,以浮点数表示。
- static devicePixelRatioFScale()¶
- Return type:
浮点数
- static encodeMetricF(metric, value)¶
- Parameters:
metric –
PaintDeviceMetricvalue – 浮点数
- Return type:
整数
- height()¶
- Return type:
整数
返回绘画设备在默认坐标系单位中的高度(例如,
QPixmap和 QWidget 的像素)。另请参阅
- heightMM()¶
- Return type:
整数
返回绘画设备的高度,单位为毫米。由于平台限制,可能无法使用此函数来确定屏幕上小部件的实际物理大小。
另请参阅
- logicalDpiX()¶
- Return type:
整数
返回设备的水平分辨率,单位为每英寸点数,用于计算字体大小。对于X11,这通常与从
widthMM()计算出的值相同。请注意,如果logicalDpiX()不等于
physicalDpiX(),相应的QPaintEngine必须处理分辨率映射。- logicalDpiY()¶
- Return type:
整数
返回设备以每英寸点数表示的垂直分辨率,该分辨率用于计算字体大小。对于X11,这通常与从
heightMM()计算出的值相同。请注意,如果logicalDpiY()不等于
physicalDpiY(),相应的QPaintEngine必须处理分辨率映射。- metric(metric)¶
- Parameters:
metric –
PaintDeviceMetric- Return type:
整数
返回给定绘图设备的度量信息
metric。另请参阅
- abstract paintEngine()¶
- Return type:
返回一个指向用于在设备上绘制的绘图引擎的指针。
- paintingActive()¶
- Return type:
布尔
如果设备当前正在被绘制,即有人调用了
begin()但尚未为此设备调用end(),则返回true;否则返回false。另请参阅
- physicalDpiX()¶
- Return type:
整数
返回设备的水平分辨率,单位为每英寸点数。例如,在打印时,此分辨率指的是物理打印机的分辨率。而逻辑DPI则指的是实际绘图引擎使用的分辨率。
请注意,如果physicalDpiX()不等于
logicalDpiX(),相应的QPaintEngine必须处理分辨率映射。- physicalDpiY()¶
- Return type:
整数
返回设备的水平分辨率,单位为每英寸点数。例如,在打印时,此分辨率指的是物理打印机的分辨率。而逻辑DPI则指的是实际绘图引擎使用的分辨率。
请注意,如果physicalDpiY()不等于
logicalDpiY(),相应的QPaintEngine必须处理分辨率映射。- Return type:
- width()¶
- Return type:
整数
返回绘图设备在默认坐标系单位中的宽度(例如,对于
QPixmap和QWidget,单位为像素)。另请参阅
- widthMM()¶
- Return type:
整数
返回绘画设备的宽度,单位为毫米。由于平台限制,可能无法使用此函数来确定屏幕上小部件的实际物理尺寸。
另请参阅