从带有富文本的 QLabel 获取纯文本

发布于 2024-12-27 12:13:30 字数 539 浏览 2 评论 0原文

我有一个包含富文本的 QLabel
我只想从 QLabel 中提取实际(可见)“文本”,而不提取任何格式化代码。
我本质上需要一个类似于其他 Qt Widgets'.toPlainText' 方法的函数。

我不能简单地调用 .text() 并按照此线程中的建议进行字符串操作 html 标签 从带有 HTML 标签的 QString 获取纯文本,因为返回的 QString 包含所有 废话。

如何提取纯文本?

(我对任何方法都持开放态度,即使是间接的。例如;将 html 转换为纯文本的现有函数)

谢谢!

规格:
蟒蛇2.7.2
PyQt4
视窗7

I have a QLabel that contains rich text.
I want to extract just the actual (visible) 'text' from the QLabel, and none of the code for formatting.
I essentially need a function similiar to the '.toPlainText' method of other Qt Widgets.

I can not simply call .text() and string manipulate away the html tags as suggested in this thread Get plain text from QString with HTML tags, since the returned QString contains all the <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> nonsense.

How do I extract the plain text?

(I'm open to any method, even if indirect. eg; Pre-existing functions that convert html to plain text)

Thanks!

Specs:
python 2.7.2
PyQt4
Windows 7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

再可℃爱ぅ一点好了 2025-01-03 12:13:30

使用 QTextDocument 进行转换:

doc = QtGui.QTextDocument()
doc.setHtml(label.text())
text = doc.toPlainText()

Use a QTextDocument to do the conversion:

doc = QtGui.QTextDocument()
doc.setHtml(label.text())
text = doc.toPlainText()
梦幻的味道 2025-01-03 12:13:30

这是一个混乱的解决方法(对于 python - PyQt),

def Extract_PlainText(label):
    Rtf_text = label.text()
    Temp_Obj = QtGui.QTextEdit()
    Temp_Obj.setText(Rtf_text)
    Plain_text = Temp_Obj.toPlainText()
    del Temp_Obj
    return Plain_text

灵感来自 http: //bytes.com/topic/net/answers/707370-convert-rtf-plain-text

Here's a messy work around (for python - PyQt)

def Extract_PlainText(label):
    Rtf_text = label.text()
    Temp_Obj = QtGui.QTextEdit()
    Temp_Obj.setText(Rtf_text)
    Plain_text = Temp_Obj.toPlainText()
    del Temp_Obj
    return Plain_text

Inspired by http://bytes.com/topic/net/answers/707370-convert-rtf-plain-text

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文