所以,我有一个 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/