欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫圖形界面開發(fā)之PyQt5打印控件QPrinter詳細使用方法與實例

 更新時間:2020年02月28日 16:20:19   作者:jia666666  
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5打印控件QPrinter詳細使用方法與實例,需要的朋友可以參考下

PyQt5打印控件QPrinter簡介

打印圖像是圖像處理軟件中的一個常用功能,打印圖像實際上是在QPaintDevice中畫圖,與平時在QWidget。QPixmap和QImage中畫圖是一樣的,都是創(chuàng)建一個QPainter對象進行畫圖的,只是打印使用的是QPrinter,它的本質(zhì)上也是一個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('打印圖片')

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

    #實例化Qimage類
    self.image = QImage()
    #自定義的多個函數(shù),實現(xiàn)的功能不一
    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):
    #加載圖標,添加快捷方式,添加提示信息,綁定槽函數(shù)
    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):
    #在工具欄區(qū)域內(nèi)添加控件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())

      #設置窗口的大小為圖片的尺寸,并在窗口內(nèi)繪制圖片
      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_())

運行程序,顯示效果如下

打印功能

本文詳細講解了PyQt5打印控件QPrinter詳細使用方法與實例,更多關于PyQt5控件知識請查看下面的相關鏈接

相關文章

  • 詳解requirements.txt的生成和安裝

    詳解requirements.txt的生成和安裝

    本文主要介紹了詳解requirements.txt的生成和安裝,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 解決Jupyter無法導入已安裝的 module問題

    解決Jupyter無法導入已安裝的 module問題

    這篇文章主要介紹了解決Jupyter無法導入已安裝的 module問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 圖文詳解牛頓迭代算法原理及Python實現(xiàn)

    圖文詳解牛頓迭代算法原理及Python實現(xiàn)

    牛頓迭代法又稱為牛頓-拉夫遜(拉弗森)方法,它是牛頓在17世紀提出的一種在實數(shù)域和復數(shù)域上近似求解方程的方法。本文將利用圖文詳解牛頓迭代算法原理及實現(xiàn),需要的可以參考一下
    2022-08-08
  • Python批量模糊匹配的3種方法實例

    Python批量模糊匹配的3種方法實例

    模糊匹配可以算是現(xiàn)代編輯器的一個必備特性了,它所做的就是根據(jù)用戶輸入的部分內(nèi)容,猜測用戶想要的文件名,并提供一個推薦列表供用戶選擇,下面這篇文章主要給大家介紹了關于Python批量模糊匹配的3種方法,需要的朋友可以參考下
    2022-03-03
  • Python中單元測試的快速入門指南

    Python中單元測試的快速入門指南

    在這篇文章中,我們會深入探討Python單元測試的各個方面,包括它的基本概念、基礎知識、實踐方法、高級話題,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-07-07
  • 基于flask實現(xiàn)五子棋小游戲

    基于flask實現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細介紹了基于flask實現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Python操作Excel插入刪除行的方法

    Python操作Excel插入刪除行的方法

    今天小編就為大家分享一篇Python操作Excel插入刪除行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python selenium 三種等待方式詳解(必會)

    Python selenium 三種等待方式詳解(必會)

    這篇文章主要介紹了Python selenium 三種等待方式詳解(必會)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • python處理html轉(zhuǎn)義字符的方法詳解

    python處理html轉(zhuǎn)義字符的方法詳解

    這篇文章主要介紹了python處理html轉(zhuǎn)義字符的方法,結(jié)合實例形式較為詳細的分析了Python針對常見HTML轉(zhuǎn)義字符處理技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 使用Pandas計算系統(tǒng)客戶名稱的相似度

    使用Pandas計算系統(tǒng)客戶名稱的相似度

    在日常業(yè)務處理中,我們經(jīng)常會面臨將不同系統(tǒng)中的數(shù)據(jù)進行匹配和比對的情況,本文將介紹如何使用Python的Pandas庫來處理這個問題,需要的可以參考一下
    2023-07-07

最新評論