2011-07-12 242 views
1

我是Qt開發新手,正在爲正在編寫的遊戲編寫關卡編輯器,並且在設計器中遇到佈局問題。用於調整大小的Qt佈局

這裏就是我想要它看起來像:

(我沒有足夠的代表,發佈圖片,這裏是一個鏈接:) http://img855.imageshack.us/img855/6474/editori.jpg

還有的顯然將是更多的按鈕和東西正確的東西,以及實際在OpenGL畫布中顯示的東西。

所以我有兩個具體的問題:

1)如何設置它,這樣如果用戶重新大小的窗口,應用適當的重新大小的內容?通過將按鈕放入垂直佈局,然後將其放入垂直佈局,然後將其放置在Splitter佈局中,但可以使畫布的寬度與按鈕的寬度相當,而不是固定到的按鈕例如,屏幕的最右側100個像素。

2)有沒有簡單的方法來允許滾動畫布?該級別的大小可能比屏幕上的大小大得多,所以如果出現這種情況,我想在畫布上添加水平和垂直滾動條。 (如果級別太大或者如果用戶使窗口足夠小以至於不再適合,在後一種情況下,滾動條應該僅在實際不適合時才顯示)。有沒有簡單的方法來做到這一點,或者我必須手動做所有事情?

謝謝!

回答

3

如果內容沒有被正確地調整,這聽起來好像你可能不會設置一個頂級佈局。另外,你確定你想使用Splitter佈局嗎?我不確定在這種情況下會給你帶來什麼好處,它可以通過調整畫布的大小來隱藏按鈕。也許你有理由更喜歡這個。無論如何,在Designer中,我可以創建類似於您所顯示的東西,並通過以下方式正確調整大小:

  • 添加按鈕,然後將它們分組爲垂直佈局。
  • 添加畫布。
  • 然後選擇表單(通過右鍵單擊窗體未被其他窗口部件佔用的地方或右鍵單擊對象檢查器中的窗體),然後從上下文菜單中選擇佈局 - >佈局水平佈局。

通過稍微改變這一點,你應該能夠滾動的帆布:

  • 添加QScrollArea控件到窗體。
  • 將畫布移動到QScrollArea小部件。
  • 與之前的表單一樣,右鍵單擊表單上的滾動區域小部件或者在對象檢查器中,然後通過選擇佈局 - >一些佈局選項來應用佈局。我爲此使用了垂直佈局。
+0

工作很好,謝謝! – numegil

+0

無論如何,這是什麼意思的頂級佈局?你如何設置它? – swdev

+0

基本上你的窗體或小部件是一個GUI元素的樹。頂級元素是樹的根,換句話說,表單或小部件。如果沒有佈局應用於該元素,則Qt不知道在調整大小時應如何處理。要設置頂層元素,您應該首先在沒有其他佈局的情況下右鍵單擊它,或者在Object Inspector中右鍵單擊它。然後從上下文菜單中選擇Layout-> WhateverLayoutYouWant。 – foven