diff --git a/src/icon.cpp b/src/icon.cpp --- a/src/icon.cpp +++ b/src/icon.cpp @@ -439,6 +439,7 @@ QString iconSource = m_source.toString(); if (iconSource.startsWith(QLatin1String("image://"))) { + const auto multiplier = QCoreApplication::instance()->testAttribute(Qt::AA_UseHighDpiPixmaps) ? (window() ? window()->devicePixelRatio() : qGuiApp->devicePixelRatio()) : 1; QUrl iconUrl(iconSource); QString iconProviderId = iconUrl.host(); QString iconId = iconUrl.path(); @@ -455,10 +456,10 @@ return img; switch(imageProvider->imageType()){ case QQmlImageProviderBase::Image: - img = imageProvider->requestImage(iconId, &actualSize, size); + img = imageProvider->requestImage(iconId, &actualSize, size * multiplier); break; case QQmlImageProviderBase::Pixmap: - img = imageProvider->requestPixmap(iconId, &actualSize, size).toImage(); + img = imageProvider->requestPixmap(iconId, &actualSize, size * multiplier).toImage(); break; case QQmlImageProviderBase::Texture: case QQmlImageProviderBase::Invalid: