最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

PyQt5打印控件QPrinter簡(jiǎn)介

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

QPrinter的使用實(shí)例

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)

    #設(shè)置標(biāo)題
    self.setWindowTitle('打印圖片')

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

    #實(shí)例化Qimage類
    self.image = QImage()
    #自定義的多個(gè)函數(shù),實(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):
    #加載圖標(biāo),添加快捷方式,添加提示信息,綁定槽函數(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):
    #實(shí)例化菜單欄,并添加一個(gè)父菜單,以及把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):
    #實(shí)例化打印圖像對(duì)象
    printer=QPrinter()
    #打印窗口彈出
    printDialog=QPrintDialog(printer,self)
    if printDialog.exec_():

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

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

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

運(yùn)行程序,顯示效果如下

打印功能

本文詳細(xì)講解了PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件知識(shí)請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • json跨域調(diào)用python的方法詳解

    json跨域調(diào)用python的方法詳解

    這篇文章主要介紹了json跨域調(diào)用python的方法,結(jié)合實(shí)例形式分析了基于ajax的json調(diào)用及Python后臺(tái)處理技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01
  • Python學(xué)習(xí)之迭代器的使用教程詳解

    Python學(xué)習(xí)之迭代器的使用教程詳解

    迭代器是一種對(duì)象,該對(duì)象包含值的可計(jì)數(shù)數(shù)字。從技術(shù)上講,在?Python?中,迭代器是實(shí)現(xiàn)迭代器協(xié)議的對(duì)象,它包含方法?iter()?和?next()。本文就來(lái)聊聊迭代器的具體使用吧
    2023-03-03
  • Python中的POST請(qǐng)求參數(shù)詳解

    Python中的POST請(qǐng)求參數(shù)詳解

    這篇文章主要介紹了Python中的POST請(qǐng)求參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 人工智能Text Generation文本生成原理示例詳解

    人工智能Text Generation文本生成原理示例詳解

    這篇文章主要為大家介紹了Text Generation文本生成原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • python實(shí)現(xiàn)二分類和多分類的ROC曲線教程

    python實(shí)現(xiàn)二分類和多分類的ROC曲線教程

    這篇文章主要介紹了python實(shí)現(xiàn)二分類和多分類的ROC曲線教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python復(fù)制列表時(shí)[:]和[::]之間有什么區(qū)別

    python復(fù)制列表時(shí)[:]和[::]之間有什么區(qū)別

    這篇文章主要給大家介紹了關(guān)于python復(fù)制列表時(shí)[:]和[::]之間有什么區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • 如何理解python中數(shù)字列表

    如何理解python中數(shù)字列表

    在本篇文章里小編給大家分享的是關(guān)于python中數(shù)字列表知識(shí)點(diǎn)詳解,有興趣的朋友們可以參考下。
    2020-05-05
  • Django的多表查詢操作實(shí)戰(zhàn)

    Django的多表查詢操作實(shí)戰(zhàn)

    Django提供一種強(qiáng)大而又直觀的方式來(lái)"處理"查詢中的關(guān)聯(lián)關(guān)系,它在后臺(tái)自動(dòng)幫你處理JOIN,下面這篇文章主要給大家介紹了關(guān)于Django多表查詢操作的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • python 發(fā)送郵件的四種方法匯總

    python 發(fā)送郵件的四種方法匯總

    這篇文章主要介紹了python 發(fā)送郵件的四種方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法

    Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)自動(dòng)為照片添加日期并分類的方法,涉及Python針對(duì)文件與目錄的遍歷、判斷、修改、復(fù)制及文件屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

乐都县| 南投县| 巴中市| 万盛区| 云南省| 肥西县| 琼中| 洛川县| 饶河县| 遂宁市| 邯郸县| 丰都县| 四子王旗| 安顺市| 广州市| 中超| 利辛县| 珠海市| 芜湖县| 科技| 大庆市| 比如县| 菏泽市| 长乐市| 洮南市| 龙南县| 甘泉县| 洪江市| 郴州市| 永城市| 万安县| 淳化县| 二连浩特市| 鄄城县| 永德县| 区。| 梁平县| 云南省| 余姚市| 积石山| 简阳市|