fix: missing QColorSpace include and Qt version check

This commit is contained in:
2025-11-05 20:34:06 +08:00
parent 9021ff2579
commit 1c55e3194e

View File

@ -8,6 +8,7 @@
#include "settings.h" #include "settings.h"
#include <QDebug> #include <QDebug>
#include <QColorSpace>
#include <QMouseEvent> #include <QMouseEvent>
#include <QScrollBar> #include <QScrollBar>
#include <QMimeData> #include <QMimeData>
@ -53,6 +54,7 @@ void GraphicsView::showFileFromPath(const QString &filePath)
} else if (!imageReader.canRead()) { } else if (!imageReader.canRead()) {
showText(tr("Image data is invalid or currently unsupported")); showText(tr("Image data is invalid or currently unsupported"));
} else { } else {
#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
QImage && img = imageReader.read(); QImage && img = imageReader.read();
if (img.isNull()) { if (img.isNull()) {
showText(tr("Image data is invalid or currently unsupported")); showText(tr("Image data is invalid or currently unsupported"));
@ -63,6 +65,15 @@ void GraphicsView::showFileFromPath(const QString &filePath)
img.setDevicePixelRatio(devicePixelRatioF()); img.setDevicePixelRatio(devicePixelRatioF());
showImage(img); showImage(img);
} }
#else
QPixmap && pixmap = QPixmap::fromImageReader(&imageReader);
if (pixmap.isNull()) {
showText(tr("Image data is invalid or currently unsupported"));
} else {
pixmap.setDevicePixelRatio(devicePixelRatioF());
showImage(pixmap);
}
#endif // QT_VERSION >= QT_VERSION_CHECK(6, 8, 0)
} }
} }
} }