中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中使用QPrinter打印控件

發布時間:2021-03-20 16:26:28 來源:億速云 閱讀:410 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在python中使用QPrinter打印控件,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

PyQt5打印控件QPrinter簡介

打印圖像是圖像處理軟件中的一個常用功能,打印圖像實際上是在QPaintDevice中畫圖,與平時在QWidget。QPixmap和QImage中畫圖是一樣的,都是創建一個QPainter對象進行畫圖的,只是打印使用的是QPrinter,它的本質上也是一個QPainterDevice(繪圖設備)

QPrinter的使用實例

import sys
from PyQt5.QtWidgets import QApplication,QMainWindow,QLabel,QSizePolicy,QAction
from PyQt5.QtPrintSupport import QPrintDialog,QPrinter
from PyQt5.QtGui import QImage,QIcon,QPixmap

class MainWindow(QMainWindow):
  def __init__(self,parent=None):
    super(MainWindow, self).__init__(parent)

    #設置標題
    self.setWindowTitle('打印圖片')

    #創建標簽,設置標簽的大小規則以及控件的位置居中
    self.imageLabel=QLabel()
    self.imageLabel.setSizePolicy(QSizePolicy.Ignored,QSizePolicy.Ignored)
    self.setCentralWidget(self.imageLabel)

    #實例化Qimage類
    self.image = QImage()
    #自定義的多個函數,實現的功能不一
    self.createActions()
    self.createMenus()
    self.createToolBars()

    if self.image.load('images\screen.png'):
      self.imageLabel.setPixmap(QPixmap.fromImage(self.image))
      self.resize(self.image.width(),self.image.height())

  def createActions(self):
    #加載圖標,添加快捷方式,添加提示信息,綁定槽函數
    self.PrintAction=QAction(QIcon('images\screen.png'),self.tr('打印'),self)
    self.PrintAction.setShortcut('Ctrl+P')
    self.PrintAction.setStatusTip(self.tr('打印'))
    self.PrintAction.triggered.connect(self.slotPrint)
  def createMenus(self):
    #實例化菜單欄,并添加一個父菜單,以及把PrintAction添加到父菜單下
    PrintMenu=self.menuBar().addMenu(self.tr('打印'))
    PrintMenu.addAction(self.PrintAction)

  def createToolBars(self):
    #在工具欄區域內添加控件printACtion
    fileToolBar=self.addToolBar('Print')
    fileToolBar.addAction(self.PrintAction)

  def slotPrint(self):
    #實例化打印圖像對象
    printer=QPrinter()
    #打印窗口彈出
    printDialog=QPrintDialog(printer,self)
    if printDialog.exec_():

      painter=QPainter(printer)
      #實例化視圖窗口
      rect=painter.viewport()
      #獲取圖片的尺寸
      size=self.image.size()

      size.scale(rect.size(),Qt.KeepAspectRatio)
      #設置視圖窗口的屬性
      painter.setViewport(rect.x(),rect.y(),size.width(),size.height())

      #設置窗口的大小為圖片的尺寸,并在窗口內繪制圖片
      painter.setWindow(self.image.rect)
      painter.drawImage(0,0,self.image)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  main=MainWindow()
  main.show()
  sys.exit(app.exec_())

運行程序,顯示效果如下

怎么在python中使用QPrinter打印控件

打印功能

怎么在python中使用QPrinter打印控件

關于怎么在python中使用QPrinter打印控件就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

惠安县| 扶沟县| 沾化县| 安徽省| 和龙市| 西昌市| 晋江市| 浠水县| 武鸣县| 易门县| 萨嘎县| 澄迈县| 苍溪县| 郓城县| 德兴市| 苍山县| 衢州市| 阿克| 广河县| 仁化县| 莱西市| 呼玛县| 和静县| 汪清县| 曲麻莱县| 和平县| 汉沽区| 扶余县| 磴口县| 醴陵市| 高碑店市| 博客| 嫩江县| 辉县市| 错那县| 巴中市| 景德镇市| 巩义市| 台东市| 屏东县| 渝中区|