<interface>
<object class='GtkWindow' id='window'>
<child>
<object class='GtkBox' id='box'>
<property name='orientation'>horizontal</property>
<child>
<object class='GtkAspectFrame' id='aspect_frame'>
<property name='xalign'>0.0</property>
<property name='yalign'>0.0</property>
<child>
<object class='GtkDrawingArea' id='drawing_area_A'>
<property name='expand'>TRUE</property>
</object>
</child>
</object>
</child>
<child>
<!-- widget B goes here -->
</child>
</object>
</child>
</object>
</interface>
以上GtkBuilder UI定义会创建一个方形DrawingArea A 。我希望它在窗口中尽可能大,因此我将 A 的expand
属性设置为TRUE
。但是,当窗口本身的宽度大于高度时,我想要一个小部件 B 来填充绘图区域未使用的剩余宽度。基本上,我想要这个:
+--------------------+
|+-----------++-----+|
|| || ||
|| A || B ||
|| || ||
|| || ||
|+-----------++-----+|
+--------------------+
但我得到了这个(如果 B 将expand
设置为FALSE
):
+--------------------+
|+-----------+ +-+|
|| | | ||
|| A | |B||
|| | | ||
|| | | ||
|+-----------+ +-+|
+--------------------+
或者这个(如果 B 将expand
设置为TRUE
):
+--------------------+
|+-------++---------+|
|| || ||
|| A || B ||
|| || ||
|+-------+| ||
| +---------+|
+--------------------+
如何让GTK合作?
答案 0 :(得分:0)
我相信A应该是expand = true,fill = true,B应该是expand = false和fill = true。