Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make svg icons crisp again in Qt 5.6 on high DPI screens

Tags:

qt

qt5.6

qt5.4

Upgrading from Qt 5.4 to Qt 5.6 made all my .svg icons blurry/pixelated. I noticed this happens only on high density screens like on my MacBookPro Retina Display. I read the documentation of High DPI support in Qt 5.6 and I have set the QT_AUTO_SCREEN_SCALE_FACTOR=1 environment variable, but it didn't have much effect. Anybody has this issue? I have also found this bug report which probably relates to my question.

EDIT 1:

A simple example would be:

Image {
  source: my_icon.svg
  sourceSize.width: 50
  sourceSize.height: 50
  anchor.centerIn: parent
}
like image 647
Silex Avatar asked Nov 01 '25 01:11

Silex


1 Answers

I'm not sure how to apply this in QML, but you need to set the attribute AA_UseHighDpiPixmaps with QWidgets. Might well be the same with QML. E.g:

app.setAttribute(Qt.AA_UseHighDpiPixmaps)
like image 159
Ripdog Avatar answered Nov 04 '25 19:11

Ripdog