в pyqt5 Qstring выпилили и считают что str лучше подходит для этого дела.... toPlainText() возвращает str да ещё и без формата (т.е. просто выводит то что видно на экране):
print (type(text))
<class 'str'>.
из которого узнавать шрифт бессмысленно.
Я вижу выход только - использовать toHtml()
как то так:
from PyQt5 import Qt
app = Qt.QApplication([])
textEdit = Qt.QTextEdit()
textEdit.show()
secret = "<H4>test<H2>L, <H3>L"
textEdit.setText(secret)
html = textEdit.toHtml()
td = Qt.QTextDocument()
td.setHtml(html)
formats = td.allFormats()
print(formats)
app.exec_()