diff --git a/src/private/dquickdciiconimage.cpp b/src/private/dquickdciiconimage.cpp index 3bf4d794..696df34e 100644 --- a/src/private/dquickdciiconimage.cpp +++ b/src/private/dquickdciiconimage.cpp @@ -134,6 +134,10 @@ void DQuickDciIconImageItemPrivate::updatePlayer() QObject::connect(parentPriv->imageItem, &DQuickIconImage::sourceSizeChanged, player, [this](){ updatePlayerIconSize(); }); + + // 只在初始化和 sourceSizeChanged 时更新图标大小 + // 防止出现 dpr > 1.0 时未设置 sourceSize 的 item 在 updatePlayer 时图标一直放大 + updatePlayerIconSize(); } QString iconPath = findDciIconPath(parentPriv->imageItem->name(), appIconThemeName()); @@ -155,8 +159,6 @@ void DQuickDciIconImageItemPrivate::updatePlayer() player->setPalette(palette); - updatePlayerIconSize(); - player->setDevicePixelRatio(devicePixelRatio); }