如何重新排序 Glade 小部件树中的小部件?
例如,假设我有一个包含此部分树的 Glade 应用程序:
box1 (GtkBox)
|--button1 (GtkButton)
|--button2 (GtkButton)
|--button3 (GtkButton)
我怎样才能交换按钮 1 和按钮 2 的位置,使得按钮 2 在 UI 中位于按钮 1 上方?
答案1
经过进一步调查,似乎无法从小部件树面板修改顺序。但是,您仍然可以在可视化编辑器中修改顺序。
在工具栏中,有几个按钮用于选择光标模式。单击光标后面的按钮。它应该有四个箭头。然后单击要移动的小部件,并将其拖动到要移动的位置。
答案2
偶然发现了这一点,并发现接受的答案是不正确的,或者至少在 Glade 的当前版本中不再正确。
在 Glade 内部,您可以调整选项卡Position
下的属性Packing
,其值决定了小部件在其父级中的索引。
因此在 OP 的例子中:
box1 (GtkBox)
|--button1 (GtkButton) (Position: 0)
|--button2 (GtkButton) (Position: 1)
|--button3 (GtkButton) (Position: 2)
每个按钮Position
的值分别为 0、1 和 2。如果您将Position
的值更改button2
为 0,它会将其上移,button1
然后其值为Position
1,这会改变树中的顺序以及它在设计器和最终应用程序中的显示方式。
box1 (GtkBox)
|--button2 (GtkButton) (Position: 0)
|--button1 (GtkButton) (Position: 1)
|--button3 (GtkButton) (Position: 2)