python - 从带有富文本的 QLabel 中获取纯文本

标签 python qt pyqt pyqt4 qlabel

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

我不能简单地调用 .text()和字符串按照此线程中的建议处理掉 html 标签 Get plain text from QString with HTML tags , 因为返回了 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

最佳答案

使用 QTextDocument进行转换:

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

关于python - 从带有富文本的 QLabel 中获取纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890320/

相关文章:

python - MatPlotLib:同一个散点图上的多个数据集

python - Tensorflow 的多个版本导致问题

python - 使用 PyQt5 循环更新和显示图片

python - 尝试覆盖 QTreeView.edit() 时出现最大递归错误

python - 将 QFileDialog 添加为另一个 QDialog 中的小部件

python - 从树莓派上传文件到谷歌驱动器

c++ - Qt 5.5 和 OpenGL : Retrieving device info

c++ - 将无符号字符转换为红黑树的有符号字符

c++ - OpenGL 窗口切断模型 View

python - pyqt4如何导入和更改绘制文本的自定义字体