我有一個應用程序層,我想移植到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