Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在PyQt中,QTextEdit.setTextColor()不';在移动光标之前不能工作_Python_Pyqt_Qtextedit - Fatal编程技术网

Python 在PyQt中,QTextEdit.setTextColor()不';在移动光标之前不能工作

Python 在PyQt中,QTextEdit.setTextColor()不';在移动光标之前不能工作,python,pyqt,qtextedit,Python,Pyqt,Qtextedit,如果在moveCursor方法之后使用setTextColor方法设置QTextEdit颜色,则不会产生效果 terminal = QTextEdit() terminal.setTextColor(color) terminal.moveCursor(QTextCursor.End) terminal.insertPlainText('Test\n') 但是,如果在设置颜色之前移动光标,则它可以工作 terminal = QTextEdit() terminal.moveCursor(QTe

如果在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')

为什么会发生这种情况?似乎与此行为无关。

最可能发生的情况是调用setTextColor将不可见的内容插入到文档中,从而更改颜色。也许是添加了一个打开和关闭标签,它指定了一个文本的彩色区域,并将光标放在这些标签的中间。当您调用moveCursor并跳到末尾时,您将跳出该彩色区域,并且您的颜色将停止工作


第二个示例之所以有效,是因为您没有移出彩色区域。

这是对所发生情况的合理解释。