【发布时间】:2021-10-18 02:19:45
【问题描述】:
我正在学习如何在 PySide6 中使用QTextDocument,它似乎具有显示富文本的大部分功能,但我看不到如何将标题与下一段保持一致。
在此示例中,“标题 13”位于第 2 页的底部,其下一段位于第 3 页的顶部。如何将“标题 13”移动到第 3 页以使它们保持在一起?段落中间的分页符不会打扰我,我只是不喜欢一个标题本身。
from PySide6.QtGui import QPdfWriter, QPageSize, QTextDocument, QTextCursor
from PySide6.QtWidgets import QApplication
app = QApplication()
pdf = QPdfWriter('example.pdf')
pdf.setPageSize(QPageSize.Letter)
document = QTextDocument()
cursor = QTextCursor(document)
cursor.insertHtml('<h1>Title</h1>')
for i in range(1, 21):
cursor.insertText('\n')
cursor.insertHtml(f'<h3>Heading {i}</h3>')
cursor.insertText('\n')
cursor.insertHtml('<p>Lorem ipsum dolor sit amet, consectetur '
'adipiscing elit. Aliquam sed congue mauris. '
'Curabitur a lobortis odio. Maecenas non metus id '
'sapien congue sagittis quis ac ipsum. Sed ut '
'tincidunt ex. Proin sed neque at nunc sollicitudin '
'sagittis eget molestie mauris. Integer condimentum '
'lacus quis enim scelerisque, at cursus orci porta. '
'Aenean non tellus arcu. Sed quis odio turpis. '
'Vivamus facilisis.</p>')
document.print_(pdf)
【问题讨论】:
标签: python pyside6 qtextdocument