2017-04-03 54 views
0

我在試圖弄清QLayouts如何工作時遇到了很多麻煩。基本上,我啓動了一個MainWindow項目,然後添加一個新的基於QWidget的表單,其中我將QLineEdits和QLabel放置在一個水平佈局中,以用作虛線四輸入編輯器。預覽效果很好。QCreator中的Qt佈局

然後我添加一個QWidget到我的MainWindow類,並將其提升到我的DottedQuadEdit類。看起來不錯,如果它不是在一個佈局中,但是一旦添加到一個佈局,它會崩潰到零大小。

我已經擺弄所有各種尺寸的政策,尺寸設置,佈局配置,都沒有成功。升級後的課程會很好,直到它進入佈局爲止,然後在添加到佈局時會變得不可見。

我已經探討了很多教程和Qt文檔,但是還沒有就佈局實際工作方式提出一個合適的解釋。

+0

我在StackOverflow上編寫了佈局教程。你可以在這裏看到它們:https://stackoverflow.com/documentation/qt/9380/about-using-layouts-widget-parenting#t=201704031930582621633。也許你可以給我們更多關於你做什麼的代碼,我們可以談論它。如果你對我的教程有任何問題,你也可以問我一些問題。 –

回答

0

正如Gabriel所說,顯示你的代碼將有所幫助。我的猜測是你的QWidget沒有在Qt Creator中定義的最小尺寸,這意味着它可以合法地縮小到零尺寸。最小尺寸參數是可以爲每個QWidget編輯的屬性的一部分;試驗那些給它一個有意義的大小。那麼你也可以玩這個尺寸是否最小,首選,擴展等等。

當您單獨放置它(即不在佈局中)時,它會保持拖出時的大小。一旦你把它放到一個佈局中,佈局管理它的大小,沒有最低限度,佈局可以自由調整它的大小,一直到沒有。

0

您是否設置了添加了QLineEdits和QLabels的基於QWidget的窗體的佈局?您還需要指定表單的佈局。