python - 如何在 PyQt4 中选择性地设置文本的前景色

标签 python qt python-2.7 pyqt4 qtextedit

所以,我有一个 QtGui.QTextEdit,我想根据某些条件附加文本。例如:

resultbox = QtGui.QTextEdit()
text = 'example'
if condition1:
    resultbox.append(text) '''Append text to resultbox in default color.'''
elif condition2:
    resultbox.append(text) '''Append the text in say, red and not the default black. How?'''

我正在寻找类似于 QString(text) 上的 setForegroundColor(QtColor) 方法,它允许我设置文本的前景色。

我尝试通过为 QTextEdit 设置颜色来使用 PyQt4 中的 stylehseets,但这不允许我有选择地为文本着色,对吗?

有什么办法可以实现这个目标吗?

谢谢

最佳答案

QTextEdit 可以处理常规的 html 内容,因此您可以使用以下内容来实现您的愿望:

resultbox = QtGui.QTextEdit()
text = 'example'
if condition1:
    resultbox.insertText(text) '''Append text to resultbox in default color.'''
elif condition2:
    resultbox.insertHtml(QString("<font color=\"red\">%1</font>").arg(text)) '''Append the text in say, red and not the default black. How?'''

关于python - 如何在 PyQt4 中选择性地设置文本的前景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20906261/

相关文章:

python - Jupyter lab提示token;我怎么找到它?

c++ - 移动 QMessageBox?

python - 有没有一种方法可以在 python 的 argparse 中创建参数,如果没有给出值则返回 true

Python 和换行符

python - CNN 中的 8 个预定义二进制卷积滤波器 - Tensorflow

python - 统计抛硬币的结果

Python从socket中分割数据

python - 来自枢轴的 seaborn 热图中的数据顺序

c++ - 如何在特定行中打印 QString

c++ - TrollTech 的 Qt 教程第 11 章中令人困惑的源代码