因此,我有一个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?'''


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

我尝试通过为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?'''

07-25 20:24