我試圖讓廣場按鈕的表GTK#具有以下屬性:如何在GTK#創建一個包裹臺上
- 按鈕將被添加,每次取出一個。
- 按鈕應該像頁面上的文本一樣佈局 - 從左到右,直到沒有更多的元素可以放在一行上,然後包裝到下一行。
- 如果有更多的按鈕不適合窗口,應該有一個垂直滾動條。
- 該表應該可調整大小。調整大小應根據需要重新排列按鈕。
- 按鈕應該是固定的大小。
我開始嘗試使用Homogenous == true的表。我爲SizeAllocated添加了一個處理程序,並在其中檢查表的寬度是否已經更改,足以添加或刪除列。如果有的話,我刪除了所有的按鈕,更新了NColumns,並在正確的地方重新安裝了按鈕。這看起來很有效,但按鈕的大小並不固定 - 它們會擴大以填充橫向空間。
接下來我嘗試關閉Homogenous並設置按鈕的首選尺寸。一個小問題是,理想情況下我想在每個按鈕上放一個已知大小的位圖,並且我希望佈局正確無論該按鈕在位圖周圍添加多少個像素,但我不知道如何找出按鈕的總大小來做我的計算。更嚴重的問題是我的應用程序現在重新繪製不一致 - 有時按鈕標籤偏離中心或根本不繪製。我在想,如果這是因爲我正在改變佈局以迴應錯誤的信號。
我應該怎麼做呢?表是這個工作的正確容器嗎?有沒有什麼能做到我想要的東西? (也許更類似於文件瀏覽器中的「圖標」或「縮略圖」視圖?)根據大小的變化操作窗口布局的正確方法是什麼?
啊...看起來像GTK#維護得不好。它不止是後面的幾個版本。 : - / – Weeble 2010-12-15 08:23:50