在Gtk3中更改Gtk.Entry的背景颜色

Hap*_*ing 5 python gtk3

我想将Gtk.Entry小部件的背景颜色更改为红色,以显示此字段中存在错误.

我找到了几种方法来实现这一目标.

entry.modify_bg -> no change
entry.override_bg -> no change
entry.modify_base -> no change
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

pto*_*ato 6

您可以使用entry.override_background_color(Gtk.StateFlags.NORMAL, ...)(不override_bg())或者您可以创建一些CSS:

provider = Gtk.CssProvider()
provider.load_from_data('.entry { background: red; }')
Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), provider,
    Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
Run Code Online (Sandbox Code Playgroud)