我正在使用Qt和Python(PySide2)制作一个文本编辑器。像大多数其他文本编辑器一样,我希望生成可见的空白(空格、制表符、新行…)并将其继承。QTextEdit和QTextOption将空白字符显示为可见的特殊字符。(空格到点,制表符到箭头,新行到反P)
但这些特殊字符的颜色与其他字符相同。我想如果颜色不同,可读性会更好。你知道吗
如何改变空格中特殊字符的颜色?你知道吗
orgText = """
\t\tAll those moments
\t\twill be lost
in time
like tears
in rain.
It's time to die."""
option = QtGui.QTextOption()
option.setFlags(QtGui.QTextOption.ShowTabsAndSpaces | QtGui.QTextOption.ShowLineAndParagraphSeparators)
self.teOrg.setPlainText(orgText)
self.teOrg.document().setDefaultTextOption(option)
最后,我重写了@eyllanesc的代码。你知道吗
我的代码也不会更改段落分隔符(¶)的颜色。我想这是因为当调用highlightBlock()时,Qt传递的文本除了'\n'之外。你知道吗
谢谢@eyllaesc。你知道吗
如果你想给一个基于文本的特殊,那么你应该使用QSyntaxHighlighter。为此,必须获得模式的开始和结束,并使用
setFormat()
更改格式。你知道吗我只能修改空格(
" "
)和制表符("\t"
)的格式,但不能修改段落分隔符(¶
):相关问题 更多 >
编程相关推荐