代码之家  ›  专栏  ›  技术社区  ›  Akrash Nadeem

Qprinter左侧额外边距

  •  0
  • Akrash Nadeem  · 技术社区  · 2 年前

    我正在使用pyqt5 我曾经 QText文档 并试图打印文本,但我在左侧获得边距。 我尽了一切努力来消除差距,但它仍然没有消失。 我曾经 设置页边距 setDocumentMargin 但仍然在左侧获得优势。

    以下是代码:

    from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QVBoxLayout, QPushButton, QWidget
    from PyQt5.QtGui import QTextDocument, QTextCursor, QTextCharFormat,QTextFrameFormat,QTextBlockFormat
    from PyQt5.QtPrintSupport import QPrinter, QPrintDialog,QPrintPreviewDialog
    from PyQt5 import QtCore,QtWidgets,QtGui
    import sys
    
    class MainWindow(QMainWindow):
        def __init__(self):
            super().__init__()
    
            self.initUI()
    
        def initUI(self):
            self.setGeometry(100, 100, 800, 600)
            self.setWindowTitle('QTextDocument Example')
    
            central_widget = QWidget()
            layout = QVBoxLayout()
    
            self.text_edit = QTextEdit()
            layout.addWidget(self.text_edit)
    
            self.generate_button = QPushButton('Generate Document')
            self.generate_button.clicked.connect(self.generateDocument)
            layout.addWidget(self.generate_button)
    
            central_widget.setLayout(layout)
            self.setCentralWidget(central_widget)
    
        def generateDocument(self):
            # Clear any previous content
            self.text_edit.clear()
    
            # Create a QTextDocument instance
            doc = QTextDocument()
            cursor = QTextCursor(doc)
            content = "HI there"
            cursor.insertText(content)
            printer = QPrinter()
            printer.setFullPage(True)
            printer.setPageMargins(0.1,0.1,0.1,0.1,QPrinter.Millimeter)
            printer.setPaperSize(QPrinter.PageSize.Letter)
            printer.setOrientation(QPrinter.Orientation.Portrait)
            doc.setDocumentMargin(0)
            self.text_edit.setDocument(doc)
            doc.print_(printer)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        mainWindow = MainWindow()
        mainWindow.show()
        sys.exit(app.exec_())
    
    

    这是其中一个输出的图片内容有很多 边缘 左侧

    enter image description here

    有人能帮忙吗??

    0 回复  |  直到 2 年前