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()
{
}
文章目录