我想获得小部件的正常背景颜色(GtkHeaderBar在本例中为a).我正在使用
style = self.get_titlebar().get_style_context()
Run Code Online (Sandbox Code Playgroud)
得到的风格,和
color = style.get_property("background-color", Gtk.StateFlags.NORMAL)
Run Code Online (Sandbox Code Playgroud)
获取与该样式关联的背景颜色.
但是它返回Gkd.RGBA具有以下属性的对象:
Gdk.RGBA(red=0.000000, green=0.000000, blue=0.000000, alpha=0.000000)
Run Code Online (Sandbox Code Playgroud)
但是如果我打开GTK Inspector,选择HeaderBar,然后转到样式属性,它显示
background-color | rgb(57,63,63) | gtk-contained-dark.css:1568.29
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来获得这些相同的值?
编辑:
我正在试验GtkStyleContext.render_background(),但我没有成功:
surfc = Cairo.ImageSurface (Cairo.FORMAT_ARGB32, 10, 10)
contx = Cairo.Context(surfc)
style = self.get_titlebar().get_style_context()
backg = Gtk.render_background(style, contx, 10, 10, 10, 10)
surfc.write_to_png("test.png")
Run Code Online (Sandbox Code Playgroud)
生成的文件test.png是rgba(0, 0, 0, 0)图像.
我最近研究了gtk设计模式,并找到了应用内通知.有关何时使用它的说明,但没有引用gtk api.
我已经搜索过了,但只找到了GNotification和GApplication.send_notification,但这会将通知发送到桌面环境.
任何人都可以帮助找到用于进行应用内通知的教程或示例代码吗?
我很好奇gsettings是否可以用于存储对象,还是必须静态设置所有内容?诸如用户对象之类的对象可以存储在gsettings中吗?是否可以在每个用户上使用固定属性添加和删除用户?