重叠小部件gtk

时间:2010-11-15 11:24:20

标签: gtk

如何让小部件彼此重叠。

最低的应该是图像,上面的休息可以是其他小部件,如按钮。

alt text

1 个答案:

答案 0 :(得分:4)

对较大(父)窗口小部件进行子类化。在create()方法或构造函数中,将布局(或容器)窗口小部件添加到父窗口小部件,然后将其他窗口小部件插入到容器中。现在威胁这个新的子类,好像它是一个单一但专门的超类版本。

Window是父窗口小部件的示例,而Fixed是示例容器。孩子可以EventBox封闭Image。所有这些的合成是一个新的窗口对象,其中包含可以单击的图片。

对于窗口标题栏的外观,使用像素图背景和按钮,请尝试使用WindowImage容器来Fixed按钮。 FixedImage应该能够重叠,因为Fixed是透明的,Image没有Window

如果Buttons确实是您需要的,请查看GTK Containers列表中的按钮框工具栏。可以向其中一个添加Image背景。

另一种方法涉及 Alignment Widget (来自同一列表)。它指定较小的小部件按比例放置的位置和大小。

我假设,OOP,但如果不是,只需从一个函数组织小部件的创建。我在Haskell( Gtk2Hs )和 Guile Gnome平台(有和没有OOP)中功能性地创建了复合小部件