从Qt 5.4升级到Qt 5.6使我的所有.svg图标模糊/像素化。我注意到这只发生在我的MacBookPro Retina显示屏上的高密度屏幕上。我在Qt 5.6中阅读了High DPI support的文档,并且我设置了QT_AUTO_SCREEN_SCALE_FACTOR=1
环境变量,但它没有太大作用。有谁有这个问题?我还发现了this错误报告,可能与我的问题有关。
编辑1:
一个简单的例子是:
Image {
source: my_icon.svg
sourceSize.width: 50
sourceSize.height: 50
anchor.centerIn: parent
}
答案 0 :(得分:0)
这是一个丑陋的黑客攻击,但它确实起到了作用:
Item {
property alias image: mySvgImage
implicitWidth: mySvgImage.paintedWidth
implicitHeight: mySvgImage.implicitHeight / Screen.devicePixelRatio
Image {
id: mySvgImage
sourceSize.width: width * Screen.devicePixelRatio
sourceSize.height: height * Screen.devicePixelRatio
}
}
答案 1 :(得分:0)
我不确定如何在QML中应用它,但是您需要使用QWidgets设置属性AA_UseHighDpiPixmaps
。与QML可能完全一样。例如:
app.setAttribute(Qt.AA_UseHighDpiPixmaps)