在QTextEdit widg中解析和显示HTML

2024-10-01 15:34:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我的一个应用程序中有一个不可编辑的QTextEdit小部件。基于对组合框的选择,我想显示其他信息。在

我当前的方法是从一个目录加载HTML文件,并将它们显示在QTextEdit字段中。这听起来很简单(使用setHtml或insertHtml函数),但不知何故并不像我想的那样直接工作。我想我必须先解析或加载文件。我怎样才能继续?在

h = (helpdir + str + ".html") # contains the helpfiles path (Format QString)
# Load in HTML?
textfield.insertHtml(h) # Should somehow insert the html

欢迎其他易于实施的方法(特别是考虑到将来对帮助的翻译)。我倾向于任何没有附加库或非基础包的解决方案。在


Tags: 文件the方法函数目录信息应用程序编辑
2条回答

您可以使用QtWebKit这是在qt中使用html内容的最佳方式。它应该随pythonqt安装一起提供。请查看以下代码:

测试.py

import sys
from PyQt4 import QtCore, QtGui, QtWebKit

app = QtGui.QApplication(sys.argv)
view = QtWebKit.QWebView()
view.setHtml(open('test.html').read())
window = QtGui.QMainWindow()
window.setCentralWidget(view)
window.show()
sys.exit(app.exec_())

测试.html

^{pr2}$

是的,您必须在将HTML文件插入QTextEdit之前加载它。但这很简单:

    f = QFile("path/to/your/htmlfile")
    f.open(QFile.ReadOnly|QFile.Text)
    istream = QTextStream(f)
    textfield.setHtml(istream.readAll())
    f.close()

它工作得很好(假设您的HTML文件不是很大)。如果文件更适合您的需要,您也可以逐行读取。在

相关问题 更多 >

    热门问题