Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Qt应用程序中的高dpi缩放使图标变得平滑_Android_Qt_Qml_Highdpi - Fatal编程技术网

Android Qt应用程序中的高dpi缩放使图标变得平滑

Android Qt应用程序中的高dpi缩放使图标变得平滑,android,qt,qml,highdpi,Android,Qt,Qml,Highdpi,我已经使用QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling)在我的Qt应用程序中启用了高dpi支持但是现在我的图像看起来不清晰,而是“平滑”了。例如,下面是一些按钮的图片,这些按钮将使用高dpi图像。当我禁用高dpi支持并手动缩放ui时,使用相同的图像,图标清晰明了 我试图设置Qt::AA_UseHighDpiPixmaps,但没有成功。 下面是一个示例代码: import QtQuick 2.11 import QtQuick

我已经使用
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling)在我的Qt应用程序中启用了高dpi支持但是现在我的图像看起来不清晰,而是“平滑”了。例如,下面是一些按钮的图片,这些按钮将使用高dpi图像。当我禁用高dpi支持并手动缩放ui时,使用相同的图像,图标清晰明了

我试图设置
Qt::AA_UseHighDpiPixmaps
,但没有成功。 下面是一个示例代码:

import QtQuick 2.11
import QtQuick.Window 2.11
import QtQuick.Controls 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    ToolButton{
        anchors.centerIn: parent
        icon.source: "qrc:/ic_star_white_48dp.png"
    }
}

我使用的图标来自Google material design图标,它是为高dpi屏幕设备制作的(分辨率为192x192)。启用高dpi时,“工具”按钮中的图标显示为平滑。如果我禁用高dpi支持,并将图标的高度和宽度(
icon.height
icon.width
)设置为
640/160*48
640
是我设备的dpi),则图标清晰可见。但是,如果启用高dpi并将高度和宽度设置为
48
,图标就不清晰了。

我猜Qt的icon属性会缩放图像以提高性能(例如,ToolButton为48 x 48,源图像将缩放为48 x 48),但不会补偿高dpiscaling

例如,通过HighdDiscaling,ToolButton从48 x 48逻辑像素缩放到192 x 192物理像素,但它仍然使用缩小的48 x 48图像

我倾向于使用:

ToolButton{
anchors.centerIn: parent

    Image {
        anchors.centerIn: parent
        anchors.margins: 5
        //You can play around with those to balance quality and performance
        //mipmap: true
        //sourceSize.height: height * 2
        //sourceSize.width: width * 2
        fillMode: Image.PreserveAspectFit
        source: "qrc:/image.png"
    }
}

赢林?雨衣?可移动的我没有答案,可能对我也很重要。对不起,忘了提一下,我正在安卓上测试