小编Tin*_*ing的帖子

如何在GTK和Python中获取小部件的背景颜色?

我想获得小部件的正常背景颜色(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.pngrgba(0, 0, 0, 0)图像.

gtk pygobject gtk3

5
推荐指数
1
解决办法
2222
查看次数

gtk应用内通知API参考

我最近研究了gtk设计模式,并找到了应用内通知.有关何时使用它的说明,但没有引用gtk api.

我已经搜索过了,但只找到了GNotificationGApplication.send_notification,但这会将通知发送到桌面环境.

任何人都可以帮助找到用于进行应用内通知的教程或示例代码吗?

gtk notifications toast pygobject gtk3

5
推荐指数
1
解决办法
932
查看次数

可以动态创建设置吗?

我很好奇gsettings是否可以用于存储对象,还是必须静态设置所有内容?诸如用户对象之类的对象可以存储在gsettings中吗?是否可以在每个用户上使用固定属性添加和删除用户?

linux gnome glib gio gsettings

2
推荐指数
1
解决办法
219
查看次数

标签 统计

gtk ×2

gtk3 ×2

pygobject ×2

gio ×1

glib ×1

gnome ×1

gsettings ×1

linux ×1

notifications ×1

toast ×1