我正在尝试实现某些我认为非常容易做到的事情。但是由于某种原因,QtDesigner令我发疯,它根本行不通...
我创建了一个GUI,并在窗口中自由布置了不同的元素,没有布局或类似的东西。在某些时候,有很多元素,所以我想要做的就是使其可以上下滚动,以查看所有元素。
因此,我在QtDesigner中添加了ScrollArea并将所有元素添加为该ScrollArea的子元素(顺便说一句,这也很麻烦,因为显然在Object Viewer中拖放并不是一件事情,并编辑.ui文件也是不允许的。。。
所以我现在得到的结果如下:
因此,如您所见,尽管我创建了ScrollArea ...但没有滚动区域。所以我在Google上搜索了一下,发现可以将布局添加到滚动区域,是的,最后是滚动条!但是,在这个世界上,我应该如何按照您在屏幕快照中看到的方式对元素进行布局。它们是如此严格。
我应该如何在没有这种限制性布局的情况下简单地获得垂直滚动条?!
这是我的对象查看器的外观
这就是创建GUI时所需要的:
ui->setupUi(this);
//setCentralWidget(ui->scrollArea);
//ui->scrollArea->setWidgetResizable(true);
我尝试了一下,没有注释行。无论我做什么,都没有滚动条。
答案 0 :(得分:0)
尝试解决此问题:
在Qt Designer中:
QScrollArea
对象。QScrollArea
属性widgetResizable
。在C ++中:
// If you want to set `widgetResizable` programmaticly
ui->scrollArea->setWidgetResizable(false); // Optional if you did it in Qt Designer
ui->scrollArea->widget()->adjustSize();