Details
-
Bug
-
Resolution: Duplicate
-
P2: Important
-
5.6.0, 5.6.1, 5.7.0
-
None
Description
Repro:
main.cpp
#include <QApplication> #include <QLineEdit> #include <QGraphicsScene> #include <QGraphicsView> int main(int argc, char *argv[]) { QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QApplication app(argc, argv); QLineEdit edit; QGraphicsScene *dummyScene = new QGraphicsScene(); dummyScene->addWidget(&edit); QGraphicsView *view = new QGraphicsView(dummyScene); view->show(); return app.exec(); }
Move the window to a monitor with high DPI (for example 200%).
Click in the text edit and start typing slowly (for example a few "i")
See: the area around the cursor is not repainted correctly when the cursor blinks.
It seems that the exposed area invalidated in the graphics scene is correct, but the clip area used in the widget render is wrongly scaled by QWidgetPrivate::setSystemClip, so that it won't match the invalidation rectangle, leaving some blank areas.
Attachments
Issue Links
- duplicates
-
QTBUG-57257 QGraphicsEffects in High dpi mode with clipped children
-
- Closed
-
- is duplicated by
-
QTCREATORBUG-17122 Mixed rendering of Text item when text is selected
-
- Closed
-