python - Gtk Popover 菜单未使用默认填充

标签 python gtk gtk3 pygobject

我创建了一个 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)

它的外观与 Nautilus 中的外观对比:Image

完整代码:Code

我是不是漏掉了什么?

最佳答案

Nautilus 对其 Popover 使用边距和填充的组合。

我希望屏幕截图能够说明这一点。第一个是 Popover,因为它与您的代码一样。第二个有边距,但如您所见,选区直接接触到文本。因此第三个 Popover 有 margin 和 padding。

screenshot of three different popovers

可以使用 widget.set_property('margin', 10) 设置边距,使用 css 文件设置填充。

关于python - Gtk Popover 菜单未使用默认填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880985/

相关文章:

python - 在 Django 框架中匹配两个配置文件

python - pygtk glib.timeout_add() : How to tell if timer not being destroyed?

c - gtk+ 以编程方式在包含 vte 终端的scrolled_window 中向后滚动一行

python-2.7 - 如何为 Gio.MenuItem 显示加速器

c++ - 将glade文件与程序g++链接

c - 如何为网格中的所有标签添加 css 样式上下文提供程序?

python - 如何避免解码为 str : need a bytes-like object error in pandas?

python - 如何在 python xlsxwriter 中设置 invert_if_negative 以将条形填充为纯色

python - SQLAlchemy:直接从一对多关系中删除对象,而不使用 session.delete()

c - gtk_label_set_text() 段错误