我正在使用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_())
这是其中一个输出的图片内容有很多
边缘
在
左侧
。
有人能帮忙吗??