Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.15.0
-
None
-
-
04fed9f77e3288f69fe89bcb8a3f1cdbe02ce219 (qt/qtbase/dev) 01474c31ba2a3ca225cbc2440bd0ee28458b2a26 (qt/qtbase/6.0) b048faf869f16891034062d2b047c9c6c12e6b3e (qt/qtbase/5.15)
Description
#include <QtWidgets> #include <QScrollBar> class TextBrowser : public QTextBrowser { public: TextBrowser(QWidget *parent = 0) : QTextBrowser(parent) { for (int i = 0; i < 100; ++i) append(QString(100, 'a')); findChild<QScrollBar *>()->installEventFilter(this); } bool eventFilter(QObject *obj, QEvent *event) override { if (qobject_cast<QScrollBar *>(obj) && event->type() == QEvent::Paint) { QThread::currentThread()->msleep(1000); } return false; } }; int main(int argc, char *argv[]) { QApplication a(argc, argv); TextBrowser tb; tb.show(); return a.exec(); }
Run this demo, and drag the scrollbar, you will find that the slider of scrollbar freezing during animation.
Attachments
For Gerrit Dashboard: QTBUG-89118 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
324233,8 | QStyleAnimation: make sure the last frame of animation is rendered | dev | qt/qtbase | Status: MERGED | +2 | 0 |
325781,2 | QStyleAnimation: make sure the last frame of animation is rendered | 6.0 | qt/qtbase | Status: MERGED | +2 | 0 |
325782,2 | QStyleAnimation: make sure the last frame of animation is rendered | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |