[英]Change color of text in GTK 3.0
我使用的是Gtk.TextBuffer()
一内部Gtk.TextView()
以在屏幕上书写一些文字。 我希望经常书写时更改文本的颜色。 例如。
In Green -- Printing Green color
In Red -- Printing Red color
In Green -- Printing Green color
In Red -- Printing Red color
您能否建议一些功能来做到这一点。
要指定缓冲区中的某些文本应具有特定的格式,必须定义一个标签来保存该格式信息,然后使用create_tag("tag name", property)
和apply_tag(tag, start_iter, end_iter)
create_tag("tag name", property)
将标签应用于文本区域apply_tag(tag, start_iter, end_iter)
,例如:
tag = textbuffer.create_tag("orange_bg", background="orange")
textbuffer.apply_tag(tag, start_iter, end_iter)
以下是应用于文本的一些常见样式:
您还可以稍后使用remove_tag()
删除特定标签,或者通过调用remove_all_tags()
删除给定区域中的所有标签。
从GTK3.16开始,您可以使用pango标记。
self.textbuffer.insert_markup(iter, markup);
。
self.textbuffer.insert_markup(self.textbuffer.get_end_iter(), "<b>and some bold text</b>", -1)
GTK3 +文档: https : //developer.gnome.org/gtk3/stable/GtkTextBuffer.html#gtk-text-buffer-insert-markup
将文本插入标记中iter的位置。 标记将全部插入,并且必须为零终止且有效的UTF-8。 发出“插入文本”信号,可能多次; 插入实际上发生在信号的默认处理程序中。 iter将在返回时指向插入的文本的末尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.