gpt4 book ai didi

python - 使用 QWebView() 查看内联 HTML 文本

转载 作者:太空宇宙 更新时间:2023-11-03 15:16:03 25 4
gpt4 key购买 nike

我正在使用 PyQt4 创建一个应用程序,以便能够在不从系统加载本地 HTML 文件的情况下查看内联文本 HTML 标记。但是,我在 HTML 的字符串格式方面遇到了一些问题。此代码仅显示窗口而不显示 HTML 文本。请帮忙。

# imported all the modulesclass HtmlView(QtGui.QMainWindow):    def __init__(self):        QtGui.QMainWindow.__init__(self)        .................        # i've skipped the layout definition here        ................        # an inline text with html mark-up        text = "<p>This is  a paragraph</p><div>This is inside div   element</div>"         self.html = QtWebKit.QWebView()        # setting layout        self.gridLayout.addWidget(self.html)        self.mainLayout.addWidget(self.frame)        self.setCentralWidget(self.centralwidget)        self.web_page = text        url = self.web_page        self.html.load(QtCore.QUrl(url))        self.html.show()# executing using if __name__ == "main": skipped this part

请告诉我如何在 QWebView() 中更改元素

的样式。

最佳答案

您需要使用 setHtml在 webview 中加载标记:

    self.html = QtWebKit.QWebView()
# self.web_page = text
# url = self.web_page
self.html.setHtml(text)
# self.html.show()

(不需要注释行)。

要设置元素样式,请将样式表添加到您的标记中:

    text = """
<html>
<style type="text/css">
p {color: red}
div {color: blue}
</style>
<body>
<p>This is a paragraph</p>
<div>This is inside div element</div>
</body>
</html>
"""

PS:使用 QWebView 来显示标记是一个非常重量级的解决方案 - 使用 QTextBrowser 可能会更好相反(这更容易使用)。这只支持 limited subset of HTML , 但它通常已经足够好了:

    self.html = QtGui.QTextBrowser(self)
self.html.setHtml(text)

关于python - 使用 QWebView() 查看内联 HTML 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20981033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com