我在Python pygtk中看到了一些在textview中制作彩色文本的方法。问题似乎只是打印那种颜色的文字,或者使整条线变成颜色而不是某些项目使它们成为某种颜色。
我希望它在我输入的地方“”,颜色是蓝色。或者如果文本视图中有“string”,它将是橙色或任何类型的
如果有'#comment'那么它将是斜体和灰色。
不确定它是否有帮助,但我有一个部分,因为我在键入它时将文本写入页面。是否可以保持这种语法着色活动?
我希望这是有道理的。
非常感谢任何帮助!谢谢!
答案 0 :(得分:2)
使用GtkSourceView
进行语法突出显示。不要重新发明轮子。
答案 1 :(得分:0)
一般来说,你要找的是使用正则表达式(re
模块,这里有很多问题......可能是你需要的确切模式)在TextBuffer
找到您在上面提到的模式。这意味着您需要将信号连接到缓冲区,以便查看用户键入的内容。然后,您将需要一组TextTag
s(每个格式规则/模式一个标记)以应用于缓冲区中正则表达式与您描述的模式匹配的区域。最后,您希望apply the tags到缓冲区,这些TextTag
可以通过一系列方式(as the documentation says here)重新格式化TextView
中的文本显示。
如果没有提供任何代码,很难确切地知道您可能遇到问题的地方。
希望它指出你正确的方向......
请注意,如果您覆盖GTK主题,那么另一个用户可以拥有一个主题,例如TextView
中的橙色背景,所以你应该小心确保它在视觉上与你的主题无关。