您的位置:首页 > 其它

Layout + QScrollArea

2016-08-21 17:16 148 查看
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,那么无法单击滚动条,奇怪啊?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: