如果在moveCursor方法之后完成,则使用setTextColor方法设置QTextEdit颜色并不起作用。
terminal = QTextEdit()
terminal.setTextColor(color)
terminal.moveCursor(QTextCursor.End)
terminal.insertPlainText('Test\n')
但是如果在设置颜色之前移动光标,它就会起作用。
terminal = QTextEdit()
terminal.moveCursor(QTextCursor.End)
terminal.setTextColor(color)
terminal.insertPlainText('Test\n')
为什么会这样? documentation似乎没有任何关于此行为的内容。
答案 0 :(得分:2)
最有可能发生的事情是调用setTextColor会在文档中插入一些不可见的东西来改变颜色。也许它是添加一个开始和结束标记,指定文本的彩色区域并将光标放在这些标记的中间。当你调用moveCursor并跳到最后时,你会跳出这个彩色区域,你的颜色就会停止工作。
第二个例子有效,因为你没有离开彩色区域。