我对默认页边距有问题。
我想将页边距全部设置为0,而我做到了。
但是它总是有大约1英寸的边距,我认为硬件或一些默认值保持左边和顶部的边距。
因此,我调用了函数QPrinter.margins().left和top,它们返回4.23
我不知道浮标是什么意思,但我想它们必须是0,才能达到我的期望。
这是我用过的密码。
请看一下这个,给我一些建议。
谢谢。
def printPreview(self):
self.hide()
self.text = QTextEdit()
self.text.setHtml("HTML BODY")
printer = QPrinter(QPrinter.HighResolution)
printer.setOrientation(QPrinter.Landscape)
# print(printer.margins(), printer.margins().left, printer.margins().top) <-- it says it has already some margins
# printer.setMargins(QtGui.QPagedPaintDevice) <-- this one is pain in the ass
previewDialog = QPrintPreviewDialog(printer, self.text)
previewDialog.paintRequested.connect(self.printPreview2)
previewDialog.exec_()
self.close()
def printPreview2(self, printer):
self.text.print_(printer)发布于 2019-02-09 19:45:27
若要打印页边距小于最低页边距,还需要.setFullPath(True)。
printer.setFullPage(True)
printer.setPageMargins(0,0,0,0, QPrinter.Millimeter)Qt5文档建议具有以下签名
printer.setPageMargins(QMarginF(0, 0, 0, 0))这个针对Qt5的错误报告说,在将打印机附加到画家- although之前,还必须设置边距,我认为您的代码做得很正确。
https://stackoverflow.com/questions/54585139
复制相似问题