如何为选定的文本设置突出显示颜色
Posted
技术标签:
【中文标题】如何为选定的文本设置突出显示颜色【英文标题】:How to set highlight color for selected text 【发布时间】:2019-09-11 15:06:59 【问题描述】:我有一个包含这段代码 sn-p 的 python3 程序:
dmsg.set_selectable(True)
dmsg.set_name("sMsg")
style_provider = Gtk.CssProvider()
css = "#sMsg background-color: #002348; color: white; padding: 4px 8px; "
style_provider.load_from_data(bytes(css.encode()))
Gtk.StyleContext.add_provider_for_screen(
Gdk.Screen.get_default(),
style_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
选择文本时,选择不可见。必须在“css”语句中添加什么来设置突出显示颜色和突出显示背景颜色?
互联网搜索显示了许多 html 的结果,但没有适合这种情况的示例。一个实际的例子会更好。
【问题讨论】:
【参考方案1】:我可能记错了,但你可能需要添加css“选择”伪元素。
所以试试这样的:
dmsg.set_selectable(True)
dmsg.set_name("sMsg")
style_provider = Gtk.CssProvider()
css = "#sMsg background-color: #002348; color: white; padding: 4px 8px; #sMsg::selection color: red; background: yellow;"
style_provider.load_from_data(bytes(css.encode()))
Gtk.StyleContext.add_provider_for_screen(
Gdk.Screen.get_default(),
style_provider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
更多信息请参见here
【讨论】:
您的建议会导致此错误消息:“GLib.Error: gtk-css-provider-error-quark: :1:70Missing name of pseudo-class (1)”。你能解决它吗? 也许尝试为伪选择元素分配一个类名?然后在您的 HTML 中将指定的类添加到您的元素中。有关如何完成此操作的示例,请参阅编辑后的解决方案。 这不是 HTML。它是 Python3 Gtk3。 编辑了解决方案。现在可以试试吗? 对不起,同样的错误。我想知道'::selection'是否不是Python3 Gtk3中的有效伪元素。以上是关于如何为选定的文本设置突出显示颜色的主要内容,如果未能解决你的问题,请参考以下文章
iOS:为 UITableViewCell 设置选定突出显示颜色的 alpha
Xamarin.Forms ListView:设置点击项的突出显示颜色