如何在Glade的GtkHeaderBar两侧添加子控件?
在Glade中给GtkHeaderBar左侧添加按钮的方法
我搜索过相关问题,得知需修改pack type但无细节说明。我可添加按钮并将其pack type设为“End”,但尝试添加另一个子控件并设置pack type为“Start”时,会收到需占位符的错误提示。以下是我的示例代码,请问如何在该示例的标题栏左侧再添加一个按钮?

<?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.40.0 --> <interface> <requires lib="gtk+" version="3.24"/> <object class="GtkWindow"> <property name="can-focus">False</property> <property name="default-width">440</property> <child> <placeholder/> </child> <child type="titlebar"> <object class="GtkHeaderBar"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="title" translatable="yes">Damn complex</property> <property name="subtitle" translatable="yes">why</property> <property name="show-close-button">True</property> <child> <object class="GtkButton"> <property name="label" translatable="yes">button</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> </object> <packing> <property name="pack-type">end</property> </packing> </child> </object> </child> </object> </interface>
PS:我已能通过C#代码编程实现该功能,但仍未找到在Glade中操作的方法。

private MainWindow(Builder builder) : base(builder.GetRawOwnedObject("MainWindow")) { builder.Autoconnect(this); DeleteEvent += Window_DeleteEvent; var btn1 = new Button() { Label = "Left"}; var btn2 = new Button() { Label = "Right" }; header1.PackStart(btn1); header1.PackEnd(btn2); header1.ShowAll(); }
内容的提问来源于stack exchange,提问作者Damn Vegetables
相关产品推荐
相关产品推荐

