PyQt5 프린트 할 위젯 선택하고 프린트 하는 예제

레퍼런스: https://doc.bccnsoft.com/docs/PyQt5/

위키Doc : https://wikidocs.net/book/2165 


QPrinter 클레스를 사용해서 출력합니다.

import sys

from PyQt5 import QtGui, QtWidgets, QtPrintSupport


class App(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()
        # Create some widgets
        self.setGeometry(500, 500, 300, 300)
        self.button = QtWidgets.QPushButton(
            'Print QTextEdit widget (the one below)', self)
        self.button.setGeometry(20, 20, 260, 30)
        self.editor = QtWidgets.QTextEdit(
            'Wow such text why not change me?', self)
        self.editor.setGeometry(20, 60, 260, 200)
        self.button.clicked.connect(self.print_widget)

    def print_widget(self):
        # Create printer
        printer = QtPrintSupport.QPrinter()
        # Create painter
        painter = QtGui.QPainter()
        # Start painter
        painter.begin(printer)
        # Grab a widget you want to print
        screen = self.editor.grab()
        # Draw grabbed pixmap
        painter.drawPixmap(10, 10, screen)
        # End painting
        painter.end()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    gui = App()
    gui.show()
    app.exec_()

 

만약 전체를 출력하고 싶다면 screen =self.editor.grab() 대신 screen = self.grab()을 하면 됩니다.



[이 게시물은 관리자 님에 의해 2023-10-11 15:22:14 파이썬 Python 에서 이동됨]
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

파이썬 Python

번호 제목 글쓴이 날짜 조회수
16 비큐냐(Vicuna)와 text-generation-webu 관리자 04-17 1,246
15 Pyjosa - 파이썬 한글 조사 처리 모듈 관리자 03-11 1,227
14 Python 에서 한글 조사 을/를, 이/가, 은/는, 와/과 출력하기 관리자 06-10 2,734
13 flask multifile upload 관리자 05-25 1,322
12 Fast api로 머신러닝 기반 웹사이트 만들고 배포하기 관리자 05-16 2,117
11 CentOS에서 Python 버전 변경 관리자 05-04 1,148
10 fastapi 관리자 05-04 1,199
9 PyQt5 프린트 할 위젯 선택하고 프린트 하는 예제 관리자 02-22 1,272
8 Python 가상환경 - venv 관리자 02-15 1,024
7 MacOS에서 Pyenv PYENV_VIRTUALENV_DISABLE_PROMPT 문구 제거 하기 관리자 02-05 940
6 Mac VSCODE에서 가상환경내 Python으로 Python Interpreter 설정 관리자 02-05 1,508
5 NAVER API를 사용해서 크롤링하기 - 2 관리자 02-05 2,567
4 NAVER API를 사용해서 크롤링하기 - 1 관리자 02-05 1,008
3 selenium을 사용한 데이터 크롤링하기 관리자 02-05 958
2 Using both Python 2.x & 3.x 관리자 02-05 860
1 MacOS] Python(pyenv) 설치 및 버전관리 관리자 02-05 885