2011-04-12 66 views
0

我有一個包含窗體(表格中的標籤和文本框等元素)和右下角的3個按鈕(在hbuttonbox中)的面板。如果我通過向上拖動底部邊框來縮短面板,3個按鈕隨之一起放置,並放置在其他窗體組件的頂部,從而導致圖形混亂。我希望面板不要調整小於最後一個組件的底部邊緣。由於僱主限制,我無法顯示GUI的屏幕截圖。我會盡力做出所要求的任何澄清。GTK# - 在調整大小時重疊組件的問題

這可能與組件的一些調整大小或一般大小設置有關,但有太多的選項,我不知道從哪裏開始。

任何想法可以輕鬆解決這個問題,而不必陷入複雜的組件巢?如果沒有,關於我應該開始搞亂設置的任何想法?

謝謝!

更新: 一切都包含在一個VBox與3單元格。單元格中的元素(從上到下):Table,ScrolledWindow,HButtonBox。當調整大小時,ScrolledWindow底部邊緣也會隨着面板的底部邊緣移動(調整大小),直到面板底部高於整個ScrolledWindow。然後按鈕繼續向上移動,與面板的底部邊緣保持關聯。

回答

0

我最終向容器中添加了一個高度請求,只比滾動窗口的部分略長。現在停止調整底部按鈕與其上面的組件重疊的位置。問題(修訂前)如下所示:

Regular Sized Panel

Resized with overlap

0

「form」是否意味着您正在使用Gtk.Fixed來包含您的表格和buttonbox?那麼這可能是什麼問題 - 你應該使用vboxes和hboxes來佈局。這些將適當調整大小。固定佈局僅適用於特殊情況。

編輯

其他建議:

  • 也許HButtonBox有包式 '端' 而不是 '開始'?
  • 你可以嘗試玩VBox的孩子的'填充'和'擴大'包裝屬性。
+0

沒有,一切被放置成縱向方框和橫向方框。表和hbuttonbox都在Vbox中(同一個vbox,diff單元格)。 vbox添加了3個元素:Table,GtkScrolledWindow和Hbuttonbox。任何其他想法? – Tara 2011-04-14 18:17:34

+0

你可以用不相關的組件進行佈局,併發布截圖或代碼,而不違反僱主的限制嗎? – ptomato 2011-04-15 08:31:09

+0

我試圖讓HButtonBox具有包裝類型'開始',也搞亂了各種填充和擴展選項,但是我找不到可用的組合。但是,我剛剛使用解決方案或解決方案對我發現的問題進行了編輯。謝謝! – Tara 2011-06-16 19:09:27