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_())

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打印机的更多相关文章

  1. Python调用打印机参考例子

    参考资料: http://blog.csdn.net/jdh99/article/details/42585987 http://www.oschina.net/question/1438043_23 ...

  2. 清除打印机队列中无法清除的任务 & 清空打印池

    故障现象典型表现为以下两种情况 1.当打印任务开始进行时,这些打印任务便被保存在打印作业列表(也称打印队列)内.如果打印机因意外暂停(如打印机未连接)而未完成打印任务,则该打印任务将列入打印队列,并且 ...

  3. 用 eric6 与 PyQt5 实现python的极速GUI编程(系列04)---- PyQt5自带教程:地址簿(address book)

    [引子] 在PyQt5自带教程中,地址簿(address book)程序没有完全实现界面与业务逻辑分离. 本文我打算用eric6+PyQt5对其进行改写,以实现界面与逻辑完全分离. [概览] 1.界面 ...

  4. Java jacob调用打印机打印word文档

    前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...

  5. Java使用POS打印机(无驱)

    使用原因:应项目要求,需要使用打印机,但是如果使用Windows驱动来实现打印,在某些条件下会发生网络堵塞等,而且没有提示,所以为了确保信息的完整,避免数据丢失.我们使用无驱打印(直接写端口的方法), ...

  6. PDF虚拟打印机

    1.安装福昕PDF阅读器,自己就会安装上PDF虚拟打印机 2.通过office2010之后版本中自带的另存为功能转换为pdf 3.pdf虚拟打印机工具:工具1:http://www.win2pdf.c ...

  7. HP网络打印机--如何添加打印机

    HP网络打印机采用web服务形式,应添加打印机-通过Internet的打印机--填写网址http://192.168.1.10:80(从其他win7电脑-计算机-网络-网络设备中双击添加打印机,然后在 ...

  8. PyQt5+Python3.5.2-32bit开发环境搭建

      1.基本环境. Window 8.1 64bit Python3.5.2-32bit.exe PyQt5 2.安装python. 去官网下载32位版本的python3.5.2(就是x86那个) 备 ...

  9. Windows远程桌面打印机映射

    计算机的打印机驱动能打印,需要满足两个条件,一个是有打印驱动本身,一个是要有连接好了的端口.这样,打印作业就会被打印驱动程序封装成一种打印机能识别的组织形式,然后通过打印端口发送给打印机,然后打印! ...

随机推荐

  1. AcWing 913. 排队打水

    #include <iostream> #include <algorithm> using namespace std; typedef long long LL; ; in ...

  2. Django_后台管理

    1. 站点管理 2. 创建超级管理员 3. 添加自己的数据模型 默认是打印字符串的 4. 个性化站点管理的定制 4.1 个性化规则 admin.py 4.2 布尔值定制显示 4.3 插入班级的时候同时 ...

  3. EAC3 spectral extension原理

    1.Spectral extension简介 Spectral extension是通过低频的transform coefficients合成高频transform coefficients的过程. ...

  4. party lamps(dfs优化+规律枚举)

    Problem description: To brighten up the gala dinner of the IOI'98 we have a set of N coloured lamps ...

  5. Palindromes _easy version 题解

    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串.请写一个程序判断读入的字符串是否是“回文”. Input输入包含多个测试实例,输入数据的第一行是一个正整数n ...

  6. bugku 前女友

    首先打开链接然后会发现 照常情况下进行分析 查看源码然后发现 在这一串文字后还有一个链接然后 发现链接被隐藏了然后我们将link 删除就会显示出来点开新的连接 然后会发现这个 (仔细一看好像是php中 ...

  7. SQL实现group by 分组后组内排序

    在一个月黑风高的夜晚,自己无聊学习的SQL的时候,练习,突发奇想的想实现一个功能查询,一张成绩表有如下字段,班级ID,英语成绩,数据成绩,语文成绩如下图 实现 查询出 每个班级英语成绩最高的前两名的记 ...

  8. shell的debug模式

    如何调试shell脚本? 在指定shell运行版本时加上 '-x' #!/bin/bash   -x ➜ demo git:(master) ✗ cat debug.sh #!/bin/bash -x ...

  9. C#中的循环:while do...while for

    循环:重复将相同或类似规律的代码进行反复执行 减少代码冗余  可维护  可扩展 while(bool) { ...; } 代码块中可以使用break或者continue中断 break:中断整个循环 ...

  10. tomcat6w.exe启动tomcat

    在使用tomcat中,我们可能经常点击startup.bat来启动tomcat,但也不少通过tomcat6w.exe来启动的. 但是当我们点击tomcat6w.exe的时候会报错,信息如下:提示 指定 ...