我有一個QGridLayout
,它有六行中的一些小部件。行1,3和5包含打開文件選擇對話框的QLabel
,QLineEdit
和QPushButton
。行2,4和6包含用於向用戶呈現驗證錯誤的QLabel
。錯誤隱藏在下面的圖片中。如何防止QGridLayout中的小部件重疊?
當窗口能夠佔用儘可能多的空間時,它不會出現此問題。但是,當我限制窗口的大小可言,在此列表中的元素,看起來就像這樣:
所以我的問題是,我該如何確保在QGridLayout所有qwidgets可以儘可能多的佔用他們需要什麼空間?
編輯: 繼@Avaris'的建議,我打過電話setMinimumSize()
在QGridLayout
(共6行)每個插件,以及可見的元素看起來好多了(感謝,@Avaris!)。但是現在,當我導致驗證錯誤時,錯誤本身(紅色QLabel
)放置在其他小部件上。我可以強制QGridLayout不重疊嗎?
下面是它看起來像現在:
您是否將這些小部件的最小尺寸設置爲小? – Avaris 2012-04-14 17:22:33
@Avaris,我嘗試了你的建議,它適用於可見的元素。然而,其他行(包含隱藏的'QLabel')現在顯示在其他元素的頂部。我可以強迫他們都排隊嗎?謝謝! – James 2012-04-14 19:17:12
我並不是建議你設置最小尺寸:)。我問你以前是否設置過任何東西。如果你沒有爲你的小部件設置任何大小,他們不應該那麼小。你可以發佈一些代碼嗎? – Avaris 2012-04-14 20:57:30