2010-09-21 69 views
11

使用Qt設計器我製作了一對QFrame,每個QFrame都有一個水平佈局。他們的樣式表預言他們應該沒有保證金和填充。這意味着在Qt設計師視圖以及最終結果中,QFrame之間沒有空間。Qt設計師;難以將小部件放在正確的父項中

使用拖放操作我可以將窗口小部件放置到窗口中,它將顯示一個藍色線條放置在一個佈局中。但是,不可能將另一個QFrame添加到我看不到的QFrame父級(因此無法使用)。還有一棵樹在右側面板中,但是在丟棄父使得它在孩子的一個自動去...

例子,我有這樣的設置:

 
QMainWindow 
- QWidget 
    - QFrame (parent) 
    - QFrame (child) 
    - QFrame (child) 

添加一個新的框架,無論我嘗試,給了我:

 
QMainWindow 
- QWidget 
    - QFrame (parent) 
    - QFrame (child) 
    - QFrame (child) 
    - QFrame (new child) 

但我真的想:

 
QMainWindow 
- QWidget 
    - QFrame (parent) 
    - QFrame (child) 
    - QFrame (child) 
    - QFrame (new parent) 

有什麼功能,我的天堂沒有發現準確地放置新的小部件?

回答

4

您可以使用Object Inspector窗口,但似乎無法粘貼到具有鎖定佈局的QFrame中。

所以給你的佈局:

QMainWindow 
- QWidget 
    - QFrame (A) 
    - QFrame (B) 
    - QFrame (C) 
    - QFrame (D) 

選擇QFrame d在Object Inspector窗口,並剪斷,右擊QWidget的,打破布局(CTRL-0),然後粘貼。然後重新應用佈局。

+2

更改佈局和添加框架和小部件肯定會很痛苦。打破布局通常取決於你想要改變什麼。作爲一個竅門,有時我會使用設計器來創建一個臨時窗體/窗口部件。這可以像剪貼板一樣來回剪切和粘貼組件。 – 2010-09-21 20:51:37

+0

這是有用的,謝謝。它會以這種方式撤消QWidget的佈局,我必須重新配置它,或者這是不可避免的? – 2010-09-21 20:54:30

+0

@Arnold,對,很好,謝謝! – 2010-09-21 20:58:14

5

我使用的一種解決方法是選擇要添加到的小部件,爲該小部件的佈局添加邊距,拖放小部件,然後再次刪除邊距。這樣,至少我可以在正確的小部件中找到它。

+0

我把這個問題放在了對方里面,所以其他的答案都不起作用。感謝你! – 2011-11-17 23:05:21

+6

Bah或只編輯XML。我對設計師非常失望。 – Nils 2013-02-13 10:39:48

0

在Qt Creator 4.3中,我還發現很難將項目拖入沒有任何項目的佈局中。

讓它工作的最簡單方法是將Layout添加到表單中。然後將您的物品從Toolbox拖到Object Inspecter Window的佈局中。 這會將項目添加到Layout

未知如果這適用於舊版本的Qt Creator。