2011-07-14 58 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设置为小部件。最后,将主窗口的中央窗口部件设置为滚动区域。几乎是你的答复。 –

相关问题