本文主要是介绍Layout + QScrollArea,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Qt的FormLayout有多列时,怎么让他自动加上滚动条?
各位大侠,请教一个问题。
我在QT Creator里面定义了一个QFormLayout,添加了很多列,但是我的窗体是固定大小的,有的列显示不了了。
怎么给FormLayout加一个滚动条,让所有的列都能显示呢。
ps:我的窗体大小不能改变,只能通过添加滚动条是吗,怎么添加呢。
首先添加QScrollArea,在这个里面加QWidget,然后添加你的小部件并布局,在设置部件关联。类似这个代码吧:
QScrollArea *pArea= new QScrollArea(this);
QWidget * qw = new QWidget(pArea);//需要滚动的是一个Qwidget,而如果是在设计器里面拖入控件,会自动添加一个
QPushButton * pb = new QPushButton(qw);
pb->setText("1235647");
pb->move(130,50);
pArea->setWidget(qw);//这里设置滚动窗口qw
@u010111033,谢谢你了。我按照你说的方法,在设计器里面添加了一个QScrollArea,它自动添加了一个widget,我就在我的代码里面执行了一句话,就添加了滚动条功能。
ui->scrollAreaWidgetContents->setLayout(myformLayout);
PS:解决了我很多困惑的地方,有用。
奇怪的是:如果对QScrollArea控件进行Layout,那么无法单击滚动条,奇怪啊?
这篇关于Layout + QScrollArea的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!