【发布时间】:2012-02-12 00:04:00
【问题描述】:
我有一个包含富文本的QLabel。
我只想从QLabel 中提取实际(可见)“文本”,而没有任何格式化代码。
我基本上需要一个类似于其他Qt Widgets 的'.toPlainText' 方法的函数。
我不能简单地调用.text() 并按照该线程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 转换为纯文本的预先存在的函数)
谢谢!
规格:
蟒蛇 2.7.2
PyQt4
视窗 7
【问题讨论】:
-
我自己没有尝试过,但看起来
QTextCodec是您需要的(文档位于developer.qt.nokia.com/doc/qt-4.8/qtextcodec.html)。 -
RTF 似乎不是受支持的编码(除非我遗漏了什么)。没关系,我找到了一个乱七八糟的解决方法
-
你不能把 Qt Rich Text 当作 html 对待吗?此处的 Qt 文档 (doc.qt.nokia.com/4.7-snapshot/qml-text.html) 说:“富文本是使用 HTML 样式标记定义的。”
-
是的! (QTextCodec 是否支持 html?我只是假设是这样,因为它只有在 GUI 框架支持的情况下才合乎逻辑。我对整个“标记”文本格式业务不是很了解!对不起。)
标签: python qt pyqt pyqt4 qlabel