最近做了一个QTextBrowser的下拉加载功能,具体需求是用户下拉QTextBrowser到底的时候QTextBrowser进行加载功能。实现原理很简单,自定义控件继承QTextBrowser,利用QScrollBar的valueChanged信号来进行。具体代码如下:
#ifndef FORMTEST_H
#define FORMTEST_H
#include <QWidget>
#include<qtextbrowser.h>
#include <QScrollBar>
class FormTest : public QTextBrowser
{
Q_OBJECT
public:
explicit FormTest(QWidget *parent = 0);
~FormTest();
private slots:
void onSliderChanged(int data);
private:
Ui::FormTest *ui;
QScrollBar *sb;
int stop;
};
#endif // FORMTEST_H
#include "formtest.h"
#include "ui_formtest.h"
#include<QDebug>
FormTest::FormTest(QWidget *parent) :
QTextBrowser(parent)
{
stop=0;
sb=verticalScrollBar();
connect(sb,&QScrollBar::valueChanged,this,&FormTest::onSliderChanged);
}
void FormTest::onSliderChanged(int data)
{
if(data-stop>=0)
{
qDebug()<<"change";
stop=data;
}
if(data==sb->maximum())
{
qDebug()<<"MAX";
}
}
FormTest::~FormTest()
{
delete ui;
}
.h .cpp文件均在代码中,槽函数是可以自行添加自己的需求。
代码思路比较简单,如有错误希望指正,共同进步。