【发布时间】:2010-11-15 11:24:20
【问题描述】:
如何让小部件相互重叠。
最下面应该是图片,上面的可以是按钮等其他小部件。
【问题讨论】:
标签: gtk
如何让小部件相互重叠。
最下面应该是图片,上面的可以是按钮等其他小部件。
【问题讨论】:
标签: gtk
子类化较大的(父)小部件。在create() 方法或构造函数中,将layout(或container)小部件添加到父小部件,然后将其他小部件插入到容器中。现在威胁这个新的子类,就好像它是它的超类的一个单一但专门的版本。
Window 是父窗口小部件的示例,而 Fixed 是示例容器。一个孩子可以是一个EventBox,包含一个Image。所有这些的组合是一个新的窗口对象,其中包含可以点击的图片。
对于带有像素图背景和按钮的窗口标题栏外观,请尝试使用Window 和Image 和Fixed 容器来保存按钮。 Fixed 和Image 应该能够重叠,因为Fixed 是透明的,而Image 没有Window。
如果确实需要Buttons,请查看GTK Containers 列表中的按钮框 和工具栏。可以为其中之一添加Image 背景。
另一种方法涉及对齐小部件(来自同一个列表)。它指定较小的小部件按比例放置和调整大小。
我假设,OOP,但如果不是,只需从一个函数组织小部件的创建。我在 Haskell(Gtk2Hs) 和 Guile Gnome 平台(有和没有 OOP)中制作了功能性复合小部件
【讨论】:
Fixed!