2011-07-14 85 views
0

我是QT新手,我正在創建一個具有網格佈局的窗口小部件。 gridlayout包含一個QLineEdit小部件的矩陣。窗口調整大小以適應佈局,但是當佈局很大時,窗口會熄滅。當我最大化屏幕時,QLineEdit小部件將調整大小以適合屏幕,而對於大型佈局,它們會變得非常小。將滾動條添加到包含QT中佈局的窗口小部件C++

我希望能夠調整窗口的大小而不調整QLineEdit控件的大小並添加滾動條來導航。

我試過,沒有運氣以下:

Window->resize(QSize(500,500)); 
QScrollArea *scrollArea = new QScrollArea; 
scrollArea->setWidget(Window); 

其中窗口包含佈局小部件。另外,窗口在執行「scrollArea-> setWidget(Window);」後關閉我不知道爲什麼。

如果有人能幫助我,我會非常感激。
謝謝!

+0

你忘了顯示你的scrollArea。 scrollArea取得了你窗口的所有權,所以它被隱藏起來 –

+0

謝謝你多卡米爾!你太棒了。 還有2個問題。調整窗口大小調整網格佈局中的小部件。有什麼辦法可以禁用小部件的垂直調整大小? 另外,在佈局中有一個菜單欄,滾動條也移動菜單,反正有禁用它嗎? –

回答

0

我通過用菜單欄創建一個QMainWindow來解決我的問題。然後創建一個包含佈局的小部件,將Scroll Area設置爲小部件。最後,將主窗口的中央窗口部件設置爲滾動區域。

0

要禁用對窗口小部件的垂直調整大小,爲什麼不在窗口小部件上使用setFixedHeight()方法?

對於菜單欄,爲什麼不把它從可滾動的小部件中取出。您可以爲包含菜單欄的窗口以及包含其他所有內容的窗口小部件(可滾動部分)設置佈局。那是你在找什麼?

+0

感謝您的回覆。我通過用菜單欄創建一個QMainWindow來解決我的問題。然後創建一個包含佈局的小部件,將Scroll Area設置爲小部件。最後,將主窗口的中央窗口部件設置爲滾動區域。幾乎是你的答覆。 –

相關問題