QT scrollArea
1 学到了一个学习qt控件的方法:
首先在qtcreator中创建一个项目,双击那个ui进去,把你希望要的空间大致拉一下,然后去那个ui对应的cpp中照,系统自动引用的那个ui头文件。
ctrl+shift+i 进去看系统生成的ui对应的源代码,理清楚了自己再写。
2 scrollArea
widget(scroll的parent)->scrollarea(设置显示的大小)->widget(设置通过scrollbar可访问到的大小)->layout(按照layout放好的一些控件)
#include "tt.h"
tt::tt(QWidget *parent)
: QWidget(parent)
{
QScrollArea *scroll_area = new QScrollArea();
QWidget *scroll_widget = new QWidget();
QVBoxLayout *vlayout = new QVBoxLayout();
QPushButton *b;
int scroll_area_height = 600;
int scroll_area_width = 300;
int scroll_bar_area_height = 900;
int scroll_bar_area_width = 300;
scroll_area->setParent(this);
scroll_area->setWidget(scroll_widget);
// 设置scrollArea的占地面积,显示的是scrollArea的大小
scroll_area->setGeometry(QRect(0, 0, scroll_area_width, scroll_area_height));
scroll_area->setWidgetResizable(true);
// 设置scrollAreawidget的大小,通过scrollAreawidget的scrollbar可访问的大小
scroll_widget->setMinimumSize(QSize(scroll_bar_area_width, scroll_bar_area_height));
int n=20;
for(int i=0;i!=n;i++)
{
b = new QPushButton();
b->setText("asdasd");
b->setFixedSize(300, 60);
vlayout->addWidget(b);
}
scroll_widget->setLayout(vlayout);
}
tt::~tt()
{
}