PyQT6 QTextBrowser.append не передает все параметры html
QTextBrowser
, добавляю в него строки через append
.
Выходит примерно такой код с моей стороны:
self.QTB.append('<p style="font-size:12pt; color:#ff0000;">Какой то текст</p>')
print(self.QTB.toHtml())
Однако, в .toHtml
распечатается, что он перевел мой p
в span
, и, к примеру, если у меня стоит font-size:0pt
то я вообще в .toHtml
е не увижу font-size
как такового.
Как то можно сообщать QTextBrowser
у и обратно полное содержимое? Без всяких измышлений, что мол если сайз=0 то сайз вообще не нужен?
Вот пример:
import sys
from PyQt5.Qt import *
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
self.textBrowser = QTextBrowser()
self.layout = QGridLayout(self.centralWidget)
self.layout.addWidget(self.textBrowser)
# добавляю строку с разным интересным в текстовое поле
self.textBrowser.insertHtml(f'<p class="tech" style="visibility:hidden; font-size:8pt; color:#0000ff;">'
f'Вот это должен быть скрытый текст</p><br>')
# и тут же вывожу - а что же в это самое текстовое поле попало
print(self.textBrowser.toHtml())
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setFont(QFont("Times", 12, QFont.Bold))
w = MainWindow()
w.resize(700, 300)
w.show()
sys.exit(app.exec())
И то что мне в консоль вывел print
- а где class
? А где visibility
?:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Times'; font-size:12pt; font-weight:600; font-style:normal;">
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#0000ff;">Вот это должен быть скрытый текст</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html>