PyQt6 печать таблицы

Вывожу на печать таблицу из PyQt6. Печать реализована через HTML. То есть, я форматирую таблицу в виде html документа и уже его печатаю.

Все работает, данные выводятся, но есть небольшая проблема с форматированием. Дело в том, что в ячейках таблицы вставлены другие таблицы. В идеале желательно чтобы эти таблицы занимали ячейку полностью, то есть, растягивались по размеру ячейки, но это не происходит. Суть проблемы на скриншоте: введите сюда описание изображения

В html использую стили, где для таблиц установлена ширина 100%. Печать реализована так:

def print_result(self):
    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 1em 0 1em; vertical-align:top}
                        td.params {padding:0}
                        tr.head_inner {background-color:lightgray; font-weight:normal; text-align:center}
                        '''                                                                                 
    text_doc = QTextDocument()
    text_doc.setDefaultStyleSheet(style_sheet)
    text_doc.setHtml(self.get_text_doc())
    prev_dialog = QtPrintSupport.QPrintPreviewDialog()
    prev_dialog.paintRequested.connect(text_doc.print)
    prev_dialog.exec()

Здесь self.get_text_doc() функция которая возвращает таблицу в формате html.

Что интересно, если сохранить то, что выдает эта функция в файл и открыть в браузере, то все отображается как надо, таблицы занимают ячейки полностью, то есть растягиваются. С чем связано такое поведение и можно ли это как-то исправить?

UPDATE:

Удалось получить желаемый результат указав параметр width=100% в атрибутах тега table для всех таблиц. Почему-то, если задать этот параметр в стилях (как я это пытался сделать) то он не работает. Видимо это особенность работы PyQt с CSS.

введите сюда описание изображения


Ответы (0 шт):