Scintilla中的交替行着色
我正在使用 wxStyledTextCtrl,这是 wxPython 中的一个控件,它是 Scintilla 组件的封装。
请问有没有办法让它的行颜色交替显示(奇数行用一种背景颜色,偶数行用另一种颜色)?我正在使用内置的 Python 样式器来高亮显示关键词。
1 个回答
6
可以改变行的背景,比如用标记(这在一些开发工具中用来做书签、断点、当前执行点等),但是没有内置的方式可以改变每隔一行的背景颜色。
你可以通过为所有奇数或偶数行设置一个带背景颜色的特殊标记来模拟这个效果(可以参考MarkerSetBackground()
和MarkerAdd()
)。不过,这样做可能会消耗很多计算资源,每次编辑操作,比如拆分、合并、插入或删除行时,都需要重新设置这些标记。不过,考虑到似乎没有其他方法,这个方案还是值得一试的。