QScrollArea
使用QScrollArea对象给widget窗口部件添加滚动条。
QScrollArea类提供两个滚动条和一个可以滚动的窗口。某些情况下比使用QScrollBar简单。
使用
调用QScrollArea对象的setWidget()方法指定需要滚动条的qwidget。
QScrollArea scrollArea;
scrollArea.setWidget(qwidget);
要设置QScrollArea的属性widgetResizable,这个属性用代码生成的时候默认是false,用设计生成默认是true。通过调用setWidgetResizable(true),告诉QScrollArea自动重新改变窗口部件的大小,以利用超过其大小之外的多余空间。
scrollArea.setWidgetResizable(true);
默认情况下,只有在视口小于子窗口大小时,才会把滚动条显示出来。但通过设置滚动条的策略,也可以强制滚动条总是可见:
scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
scrollArea.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
示例
QScrollArea *scrollArea=new QScrollArea();
scrollArea->setWidget(ui->widgetNeedScroll);
scrollArea->setWidgetResizable(true);
layoutMain->addWidget(scrollArea);
ui->widgetMain->setLayout(layoutMain);