范例
//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QScrollArea>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
QScrollArea *scrollArea;//滚动区
QWidget *scrollWidget;//滚动区界面
};
#endif // WIDGET_H
//widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
scrollArea = new QScrollArea(this);
scrollArea->setGeometry(10,10,400,600);
// scrollArea->setFrameShape(QFrame::NoFrame);//无边框
// scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏垂直滚动条
// scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏水平滚动条
scrollWidget = new QWidget();
scrollWidget->setGeometry(0,0,500,1000);//scrollWidget要比scrollArea大才能出现滚动条
scrollArea->setWidget(scrollWidget);
//setWidget()里面也可以放Label,这样就可以实现:当一张Label里的图片太大,可以进行滑动滚动条进行查看。
}
Widget::~Widget()
{
}
范例—进阶
实现当滚动条滑到底,界面变跟着变大
//widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QScrollArea>
#include <QScrollBar>
#include <QDebug>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
QScrollArea *scrollArea;//滚动区
QWidget *scrollWidget;//滚动区界面
private slots:
void slot_scroolWidget(int);
};
#endif // WIDGET_H
//widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
scrollArea = new QScrollArea(this);
scrollArea->setGeometry(10,10,400,600);
// scrollArea->setFrameShape(QFrame::NoFrame);//无边框
// scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏垂直滚动条
// scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏水平滚动条
scrollWidget = new QWidget();
scrollWidget->setGeometry(0,0,500,1000);//scrollWidget要比scrollArea大才能出现滚动条
scrollArea->setWidget(scrollWidget);
//setWidget()里面也可以放Label,这样就可以实现:当一张Label里的图片太大,可以进行滑动滚动条进行查看。
connect(scrollArea->verticalScrollBar(),SIGNAL(valueChanged(int)),this,SLOT(slot_scroolWidget(int)));
}
Widget::~Widget()
{
}
void Widget::slot_scroolWidget(int value)
{
qDebug()<<value;
if(value == scrollArea->verticalScrollBar()->maximum()){
scrollWidget->setFixedSize(scrollWidget->width(),scrollWidget->height() + 50);
qDebug()<<"滑到底了!";
}
}