【问题标题】: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 的结果,但没有适合这种情况的示例。一个实际的例子会更好。

【问题讨论】:

    标签: css python-3.x gtk3


    【解决方案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中的有效伪元素。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 2021-05-22
    相关资源
    最近更新 更多