国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:29日期:2022-08-05 10:12:55
PyQt5打印控件QPrinter簡(jiǎn)介

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

QPrinter的使用實(shí)例

import sysfrom PyQt5.QtWidgets import QApplication,QMainWindow,QLabel,QSizePolicy,QActionfrom PyQt5.QtPrintSupport import QPrintDialog,QPrinterfrom PyQt5.QtGui import QImage,QIcon,QPixmapclass 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類(lèi) self.image = QImage() #自定義的多個(gè)函數(shù),實(shí)現(xiàn)的功能不一 self.createActions() self.createMenus() self.createToolBars() if self.image.load(’imagesscreen.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(’imagesscreen.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)行程序,顯示效果如下

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

打印功能

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 樟树市| 大竹县| 利川市| 河津市| 凤山县| 石渠县| 迁西县| 许昌市| 丰城市| 桐梓县| 宜宾市| 山丹县| 大石桥市| 古蔺县| 万安县| 德庆县| 高密市| 新郑市| 霍邱县| 海伦市| 古交市| 铜川市| 宜丰县| 安国市| 洪江市| 城步| 德清县| 临澧县| 手游| 星子县| 广宗县| 铁岭市| 阿瓦提县| 湘潭县| 高淳县| 屏边| 乐昌市| 宜春市| 武乡县| 防城港市| 绥宁县|