绘图API: 绘制表格到打印机打印预览的案例
绘图API: 绘制表格到打印机打印预览的案例
1.文本
2.各种图形(直线,点,椭圆,弧形,扇形,多边形)
3.图像
QPainter
painter = QPainter()
painter.begin()
painter.drawText()
painter.end()
4.打印预览
5.设置打印机参数,纵向横向,纸张大小等
必须在paintEvent事件方法中重载,绘制各种元素
案例图片
打印预览窗口案例图片
代码
import sys
from PyQt5.QtCore import Qt, QRegExp, QDir, QRect, QPoint, QDateTime
from PyQt5.QtGui import QIcon, QFont, QPalette, QPixmap, QIntValidator, QDoubleValidator, QRegExpValidator, QPainter, \
QColor
from PyQt5.QtPrintSupport import QPrinter, QPrintPreviewDialog
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QToolTip, QHBoxLayout, QMainWindow, QLabel, QVBoxLayout, \
QDialog, QLineEdit, QGridLayout, QFormLayout, QTextEdit, QRadioButton, QCheckBox, QSlider, QSpinBox, QMessageBox, \
QInputDialog, QFontDialog, QColorDialog, QFileDialog
'''
绘图API: 绘制表格到打印机打印预览的案例
1.文本
2.各种图形(直线,点,椭圆,弧形,扇形,多边形)
3.图像
QPainter
painter = QPainter()
painter.begin()
painter.drawText()
painter.end()
4.打印预览
5.设置打印机参数,纵向横向,纸张大小等
必须在paintEvent事件方法中重载,绘制各种元素
'''
class drawDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
try:
# 设置定位和左上角坐标
self.setGeometry(300, 100, 900, 800)
# 设置窗口标题
self.setWindowTitle('在窗口上绘制表格 打印预览表 的演示')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
btn = QPushButton