91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

阿勒泰市| 龙陵县| 江津市| 重庆市| 子长县| 江门市| 正蓝旗| 马尔康县| 阳信县| 宝清县| 宁乡县| 青龙| 孙吴县| 乳山市| 拜城县| 锡林浩特市| 凌源市| 鱼台县| 安塞县| 荔波县| 行唐县| 博湖县| 扎囊县| 祥云县| 工布江达县| 高尔夫| 永靖县| 齐河县| 辽宁省| 云南省| 抚松县| 山阳县| 政和县| 印江| 玉环县| 贡山| 桦甸市| 万山特区| 浦江县| 青铜峡市| 义马市|