That's neither compilable nor reproducing the problem...
Anyway, this works for me (and this is what I mean by a minimal compilable example):
#include <QtGui>
public:
protected:
int v = horizontalScrollBar()->value();
int m = horizontalScrollBar()->maximum();
if(v==m)
horizontalScrollBar()->setValue(0);
else
horizontalScrollBar()->setValue(v+1);
}
};
int main(int argc, char **argv){
grad.setColorAt(0, Qt::red);
grad.setColorAt(1, Qt::blue);
p.
fillRect(px.
rect(),
QBrush(grad
));
p.end();
label->setPixmap(px);
ScrollArea area;
area.setWidget(label);
area.show();
area.startTimer(10);
return app.exec();
}
#include <QtGui>
class ScrollArea : public QScrollArea {
public:
ScrollArea() : QScrollArea(){}
protected:
void timerEvent(QTimerEvent *te){
int v = horizontalScrollBar()->value();
int m = horizontalScrollBar()->maximum();
if(v==m)
horizontalScrollBar()->setValue(0);
else
horizontalScrollBar()->setValue(v+1);
}
};
int main(int argc, char **argv){
QApplication app(argc, argv);
QLabel *label = new QLabel;
QPixmap px(2048, 60);
QLinearGradient grad(0,0,2048,0);
grad.setColorAt(0, Qt::red);
grad.setColorAt(1, Qt::blue);
QPainter p(&px);
p.fillRect(px.rect(), QBrush(grad));
p.end();
label->setPixmap(px);
ScrollArea area;
area.setWidget(label);
area.show();
area.startTimer(10);
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks