在 Python 中设置 Gtk3 HeaderBar 的间距?

Set spacing of Gtk3 HeaderBar in Python?

根据官方文档(https://developer.gnome.org/gtk3/stable/GtkHeaderBar.html),GtkHeaderBar有一个间距属性。

要更改 python 中的字幕和标题属性,您可以使用

headerbar.set_title()
headerbar.set_subtitle()

因此应该遵循 spacing() 也将遵循相同的规则,但是我被告知以下错误

AttributeError: 'HeaderBar' object has no attribute 'set_spacing'

这是什么原因?我找不到任何具体的例子,文档是唯一涵盖其用法的地方,根据它 spacing 显然是 属性 of GtkHeaderBar

感谢您在这里提供的任何帮助

属性与属性不同。 您可以设置 属性 为:

your_bar.set_property("spacing", 5)

或者,您可以在实例化对象时定义间距:

your_bar = Gtk.HeaderBar(spacing = 5)

(我更喜欢后者 - 你可以在一个语句中设置一堆属性)

直接设置GObject属性,每个对象都有一个props属性:

headerbar.props.spacing = 5
headerbar.props.subtitle = 'Habits of the Algorithmic Mind'

我相信这是为了在您输入错误的 属性 名称时它不会无提示地失败(例如 headerbar.spaing = 5)。尽管 GObject 的其他语言绑定,例如 JS 和 Ruby,将 GObject 属性视为与对象的属性相同。