use*_*251 4 python gtk pygobject gtk3
我创建了一个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 中的外观对比:图像
以及完整的代码:代码
我在这里错过了什么吗?
Nautilus 为其 Popover 使用了边距和填充的组合。
我希望屏幕截图可以证明这一点。第一个是 Popover,因为它与您的代码一样。第二个有边距,但正如您所看到的,选择直接接触文本。因此第三个 Popover 有边距和填充。
可以widget.set_property('margin', 10)使用 css 文件设置边距和填充。