PyQt5打印机

摘要:
1.来自PyQt5importQtGui、QtWidgets、QtPrintSupport的PyQt5打印机操作(打印默认文本中的内容)。QtWidget simport*importsysclassPrintsupport1(QMainWindow):def__init__(self):super(Printsupport1,self)。__init__()self.setGeomet
1、打印机操作(打印默认文本里面的内容)
from PyQt5 import QtGui,QtWidgets,QtPrintSupport
from PyQt5.QtWidgets import *
import sys

class Printsupport1(QMainWindow):
def __init__(self):
super(Printsupport1,self).__init__()
self.setGeometry(500,200,300,300)
self.button=QPushButton("打印QtextEdit控件中的内容",self)
self.button.setGeometry(20,60,260,200)
self.editor=QTextEdit("默认文本",self)
self.button.clicked.connect(self.print)

def print(self):
printer=QtPrintSupport.QPrinter() #打印机

painter=QtGui.QPainter()
#将绘制的目标重新定向到打印机
painter.begin(printer)
screen=self.editor.grab()
painter.drawPixmap(10,10,screen)
painter.end()
print("print")

if __name__=="__main__":
app=QApplication(sys.argv)
p=Printsupport1()
p.show()
sys.exit(app.exec_())

PyQt5打印机第1张

2、显示打印样式设置对话框
from PyQt5.QtPrintSupport import QPageSetupDialog,QPrintDialog,QPrinter
from PyQt5.QtWidgets import *
import sys

class Printdialog(QMainWindow):
def __init__(self):
super(Printdialog,self).__init__()
self.printer=QPrinter() #定义一个默认的打印机
self.initUI()

def initUI(self):
self.setGeometry(300,300,500,400)
self.setWindowTitle("打印对话框")
self.editor=QTextEdit(self)
self.editor.setGeometry(20,20,300,270)

self.openbutton=QPushButton("打开文件",self)
self.openbutton.move(350,20)

self.settingbutton=QPushButton("打印设置",self)
self.settingbutton.move(350,50)

self.printbutton=QPushButton("打印文档",self)
self.printbutton.move(350,80)

self.openbutton.clicked.connect(self.openfile)
self.settingbutton.clicked.connect(self.showsettingdailog)
self.printbutton.clicked.connect(self.showprintdialog)
#打开文件
def openfile(self):
fname=QFileDialog.getOpenFileName(self,"打开文本文件","./")
if fname[0]:
with open(fname[0],"r",encoding='utf-8',errors='ignore') as f:
self.editor.setText(f.read())

#显示打印设置对话框
def showsettingdailog(self):
printerdailog=QPageSetupDialog(self.printer,self)
printerdailog.exec()

#显示打印对话框
def showprintdialog(self):
print1=QPrintDialog(self.printer,self)
if QDialog.Accepted==print1.exec():
self.editor.print(self.printer)

if __name__=="__main__":
app=QApplication(sys.argv)
p=Printdialog()
p.show()
sys.exit(app.exec_())

PyQt5打印机第2张

免责声明:文章转载自《PyQt5打印机》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇<转>FreeMarker内置函数【笔记】虚拟机安装树莓派系统下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Deepin/UOS/debian/Ubuntu/Linux下搭建pyqt5开发环境—基于Pycharm

前言 由于Deepin/UOS/debian/Ubuntu自带python,所以不用管Python环境 默认你已经下好了并安装了pycharm 本教程实验环境 系统版本:deepin 社区版 20.2.4 python版本:python 3.7.3 pycharm版本:PyCharm 2021.2.1 (Community Edition) 一、安装 py...

PyQt5-箱布局(QHBoxLayout, QVBoxLayout)-9

1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 4 ''' 即横向和纵向布局:QHBoxLayout, QVBoxLayout ''' 5 6 import sys 7 from PyQt5.QtWidgets import (QWidget, QPushButton,...

PyQt5信号与槽详解

1、信号与槽函数基础'''信号与槽函数基础,信号是一个事件,发射信号之后槽函数就会执行'''from PyQt5.QtWidgets import *import sysclass signal(QWidget): def __init__(self): super(signal,self).__init__() self...

pyqt5加载网页的简单使用

如下初步使用了pyqt5,构造了一个webview来加载网址,呈现网页。 1.安装pyqt5包,可使用douban的源 pip install pyqt5 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 2.上代码如下 #!/usr/bin/python#-*- coding:...

PyQt5设置图片格式及动画

1、缩放图片'''使用QImage.Scale(width,height)方法可以来设置图片'''from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *import sysclass scaleimage(QWidget): def __ini...

pyqt5学习之QThread

       pyqt的线程的使用非常简单-建立一个自定义的类(如thread),使它继承自QThread,并实现其run()方法即可; 在使用线程时可以直接得到thread实例,调用其start()函数即可启动线程。线程启动后,会自动调用其实现run方法,该方法就是线程的执行函数。        业务的线程任务就写在run()函数中,当run()退出之后...