Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.7.0
-
Windows
-
3398d9d40cb0dae2dc2a1a4f7dc3b4b9cceae903
Description
Using QGraphicsEffects with high dpi mode can lead to a wrong clip being used.
The two attached example projects both set Qt::AA_EnableHighDpiScaling, add a QGraphisEffect on a parent widget that has a clipped child widget.
The first test case is the minimal test case, reduced to only what is necessary.
In the second test case is a bit bigger, since it uses a QScrollArea.
In the first test case, the parent widget has a height of 400px, and button is placed at y = 300 px with height 200px. Thus the top 100px of the button should be visible and the bottom 100px of the button should be clipped away by the parent.
A yellow QGraphicsDropShadow effect is applied to the parent widget.
The attached screenshot shows how this test case looks with:
(From left to right)
1) No high dpi scaling + no graphics effect
2) No high dpi scaling + graphics effect
3) High dpi scaling + no graphics effect
4) High dpi scaling + graphics efect
I've upload a patch for this issue to codereview: https://codereview.qt-project.org/#/c/177407/
That patch also fixes https://bugreports.qt.io/browse/QTBUG-55698, and thus I've assigned this bug to you, too.
Attachments
Issue Links
- is duplicated by
-
QTBUG-56480 High DPI: repaint artefacts for widgets in a QGraphicsScene
-
- Closed
-