我想获得小部件的正常背景颜色(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)图像.
我正在尝试在 Jekyll 中执行以下操作:
我有一个网址;
该 URL 可以是相对的(“/media/image.jpg”)或绝对的“ http://example.com/image.jpg ”;
如果 URL 是相对的,我必须在其开头附加我的站点域(“ http://my-site/media/image.jpg ”)。如果不这样做,什么都不会改变。
遗憾的是我还不知道如何实现这一目标。
如果有人能帮助我,我很乐意。
提前致谢。
我创建了一个GtkPopoverMenu并为其添加了一些文本按钮,但我无法让它遵循与其他弹出窗口相同的填充,例如 Nautilus 中的那个。
正在应用默认样式类,并GtkInspector显示与 Nautilus 中的弹出窗口相同的填充值,但从视觉上看,填充不存在。
这是代码的相关部分:
pbox = Gtk.Box(orientation = Gtk.Orientation.VERTICAL)
popover.add(pbox)
one = Gtk.ModelButton.new()
one.set_label("Button One")
pbox.pack_start(one, False, False, 0)
two = Gtk.ModelButton.new()
two.set_label("Button Two")
pbox.pack_start(two, False, False, 0)
three = Gtk.ModelButton.new()
three.set_label("Button Three")
pbox.pack_start(three, False, False, 0)
Run Code Online (Sandbox Code Playgroud)
以及它的外观与 Nautilus 中的外观对比:图像
以及完整的代码:代码
我在这里错过了什么吗?