从富文本的QLabel中获取纯文本

2024-05-14 22:45:49 发布

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

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

我不能简单地调用.text()和string操作掉这个线程Get plain text from QString with HTML tags中建议的html标记,因为返回的QString包含所有<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">无意义的内容。

如何提取纯文本?

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

谢谢!

规格:
python 2.7.2
PyQt4
Windows 7


Tags: 方法函数代码textfrom文本getstring
2条回答

使用^{}进行转换:

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

这里有一个混乱的工作(对于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

相关问题 更多 >

    热门问题