Это действительно работает, но есть небольшая проблема: у меня есть таблицы, встроенные в основную таблицу, и мне бы хотелось, чтобы они таблицы полностью заполняют родительские ячейки (100 % их ширины), но дочерние таблицы не расширяются.
Это мой код:
Код: Выделить всё
import sys
from PyQt6 import QtWidgets, QtPrintSupport
from PyQt6.QtGui import QTextDocument
class MyWidget(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.table_widget = QtWidgets.QTableWidget()
self.button = QtWidgets.QPushButton('Print TableWidget')
self.layout = QtWidgets.QVBoxLayout(self)
self.layout.addWidget(self.table_widget)
self.layout.addWidget(self.button)
self.button.clicked.connect(self.print_table)
def print_table(self):
html_table = '''
header1header2header3
data1data2
header1header2header3
data3data3data3
data1data2
hr1hr2hr3hr4
d3d3d3d3
d3d3d3d3
'''
style_sheet = '''table {border-collapse:collapse; width:100%}
th {background-color:lightblue; border: 1px solid gray; height:1em}
td {border: 1px solid gray; padding:0; vertical-align:top}
'''
text_doc = QTextDocument()
text_doc.setDefaultStyleSheet(style_sheet)
text_doc.setHtml(html_table)
prev_dialog = QtPrintSupport.QPrintPreviewDialog()
prev_dialog.paintRequested.connect(text_doc.print)
prev_dialog.exec()
if __name__ == '__main__':
app = QtWidgets.QApplication([])
widget = MyWidget()
widget.resize(640,480)
widget.show()
sys.exit(app.exec())
[img]https://i.sstatic. net/CUeTUP2r.png[/img]
Но это то, что я хочу:

Понятия не имею, как это исправить. Буду очень признателен за любые идеи.
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-in-pyqt6
Мобильная версия