ast*_*123 8 python user-interface pyqt pyqt4
我有一些python代码生成一些我希望能够在窗口中打印或显示的信息.
整个窗口将用于显示格式丰富的文本(粗体,斜体,彩色字体,各种字体大小等).该文本也应该是只读的.此外,光标不应该是可见的.就像在网络浏览器中一样.
我应该使用哪个PyQt类?如果可以使用QTextEdit,请告诉我如何使它只读,并将各种格式应用于文本.如果任何其他PyQt类更适合这个,请告诉我.
更新:我发现这个类:http: //pyqt.sourceforge.net/Docs/PyQt4/qtextdocument.html 它说
QTextDocument是结构化富文本文档的容器,为样式化文本和各种类型的文档元素(如列表,表格,框架和图像)提供支持.它们可以创建用于QTextEdit,也可以单独使用.
使用QTextDocument类而不是QTextEdit直接使用是否有优势?
thr*_*les 14
你可能还想用QTextEdit.QTextEdit可以通过以下方式将实例设置为只读:
my_text_edit.setReadOnly(True)
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用QTextCursors或使用setHtml()它来插入/附加文本,从而允许您设置文本编辑的全部内容.格式化语法是基本的HTML,比如<b>等等.你可以在这里阅读更多关于它的内容:http://qt-project.org/doc/qt-4.8/qtextedit.html#using-qtextedit-as-a-display-小部件
但一个简单的例子就是
my_text_edit.textCursor().insertHtml('normal text')
my_text_edit.textCursor().insertHtml('<b>bold text</b>')
Run Code Online (Sandbox Code Playgroud)