如何防止GtkAspectFrame浪费空间?

Wil*_*ill 9 gtk gtk3

<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>
Run Code Online (Sandbox Code Playgroud)

上述GtkBuilder UI定义创建一个正方形绘图区.我希望它在窗口中尽可能大,所以我将Aexpand属性设置为.但是,当窗口本身的宽度大于高度时,我想要一个小部件B来填充绘图区域未使用的剩余宽度.基本上,我想要这个:TRUE

+--------------------+
|+-----------++-----+|
||           ||     ||
||     A     ||  B  ||
||           ||     ||
||           ||     ||
|+-----------++-----+|
+--------------------+
Run Code Online (Sandbox Code Playgroud)

但是,我得到这个代替(如expand设置FALSE):

+--------------------+
|+-----------+    +-+|
||           |    | ||
||     A     |    |B||
||           |    | ||
||           |    | ||
|+-----------+    +-+|
+--------------------+
Run Code Online (Sandbox Code Playgroud)

或者,这(如果expand设置TRUE):

+--------------------+
|+-------++---------+|
||       ||         ||
||   A   ||    B    ||
||       ||         ||
|+-------+|         ||
|         +---------+|
+--------------------+
Run Code Online (Sandbox Code Playgroud)

我如何让GTK合作?

rob*_*bru 0

我相信A应该是expand=true,fill=true,B应该是expand=false并且fill=true。