Glade-GtkStack的侧栏

Glade-GtkStack的侧栏,gtk,glade,Gtk,Glade,一些GTK3程序(如Gedit)有一个侧栏。 我注意到,这似乎表现得像一个GtkPaned,某种程度上启用了CSD。是否可以在Glade中这样做,或者我必须将其添加到代码中(Vala,如果有关系的话)。如果这有帮助的话,gedit似乎有一个怪癖,如果将控件设置为左侧并且启用了侧面板,则会使控件完全消失。这种设计需要应用程序付出一些努力,并且最终的细节可能无法仅在Glade中完全实现:看起来像是一个人头杆的实际上是一个带有两个人头杆的GTK板。左标题栏和文档窗格位于相同的大小组中,并将其可见性属

一些GTK3程序(如Gedit)有一个侧栏。


我注意到,这似乎表现得像一个
GtkPaned
,某种程度上启用了CSD。是否可以在Glade中这样做,或者我必须将其添加到代码中(Vala,如果有关系的话)。如果这有帮助的话,gedit似乎有一个怪癖,如果将控件设置为左侧并且启用了侧面板,则会使控件完全消失。

这种设计需要应用程序付出一些努力,并且最终的细节可能无法仅在Glade中完全实现:看起来像是一个人头杆的实际上是一个带有两个人头杆的GTK板。左标题栏和文档窗格位于相同的大小组中,并将其可见性属性绑定在一起。棘手的部分是确保headerbar不包含重复的默认项,同时确保自定义装饰布局工作正常(这听起来像是您发现了一个bug)

在gedit源代码中的gedit/resources/ui/gedit-window.ui和gedit/gedit window.c中搜索
side_headerbar
,您将看到详细信息