我有一个应用程序层,我想移植到Gtk,它拥有所有它自己的布局代码,我不想花费几个月的时间重新编写它以使用Gtk布局系统,而是只需使用现有的内部布局代码并让Gtk渲染所产生的小部件。自定义GTK小部件绕过GTK布局引擎?
我已经开始通过尝试几个内置容器后编写自己的小部件。基本上我正在寻找类似GtkFixed容器的东西,它没有最小尺寸,即Gtk会将第一个窗口小部件放到整个窗口中,所有子窗口小部件都会自己放置,以便填充该区域。如果我为此使用GtkFixed,则窗口始终限制为初始布局的大小,因为这是“请求”空间。我无法将其调整为小于使用窗口装饰边缘的大小。
也许我需要在分配和请求上学。到目前为止,我的谷歌搜索还没有找到我需要的信息来完成这项工作。我确实尝试过。
我现在使用的是C API,而我的目标是Win32和Linux。到目前为止,我有一个在Win32中工作的shell应用程序,它提供了一个空窗口。但是第一个子窗口小部件将调整大小限制为初始大小。
编辑︰FYI所有这一切的最终结果是可用here。该代码代表了我可以移动和调整独立于GTKs布局引擎的基础小部件。
你如何设置第一个小部件的大小,而没有它让你的容器卡在这个大小? – pib 2010-09-27 17:14:03
对于窗口内部最顶层的窗口部件,我请求10x10像素,Gtk展开以填充整个窗口。其余的子部件准确地请求其定义的大小。 – fret 2010-09-28 05:34:46