我有QLabel
,其中包含丰富的文字
我想从QLabel
中仅提取实际(可见)“文本”,而不是用于格式化的代码。
我基本上需要一个类似于其他'.toPlainText'
的{{1}}方法的函数。
我不能简单地调用Qt Widgets
并按照此帖子Get plain text from QString with HTML tags中的建议操纵字符串操纵html标记,因为返回的.text()
包含所有QString
无意义。< / p>
如何提取纯文本?
(我对所有方法都持开放态度,即使是间接的。例如;预先存在的将html转换为纯文本的函数)
谢谢!
规格:
python 2.7.2
PyQt4中
Windows 7
答案 0 :(得分:13)
使用QTextDocument
进行转换:
doc = QtGui.QTextDocument()
doc.setHtml(label.text())
text = doc.toPlainText()
答案 1 :(得分:1)
这是一个混乱的工作(对于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启发