fix: render error for tag icons in AppInfoPage

SVG render error in Qt6, so fallback to use PNG;
add CustomLabel for render PNG not blurry with HIDPI

Log: add PNG resources for tag icons;
add CustomLabel class for PNG rendering
This commit is contained in:
忘记、过去 2025-06-13 01:23:25 +08:00
parent 30840d0865
commit 2688e2e849
17 changed files with 205 additions and 78 deletions

@ -44,6 +44,7 @@
<file>icon/light/text.svg</file>
<file>icon/light/update.svg</file>
<file>icon/logo.svg</file>
<file>icon/sparky.png</file>
<file>json/features.json</file>
<file>tags/a2d_full.svg</file>
<file>tags/a2d.png</file>
@ -72,15 +73,18 @@
<file>tags/uos_full.svg</file>
<file>tags/uos.png</file>
<file>tags/uos.svg</file>
<file>translations/qtwebengine_zh.qm</file>
<file>icon/sparky.png</file>
<file>tags/amber-ce-bookworm_full.svg</file>
<file>tags/amber-ce-bookworm.png</file>
<file>tags/amber-ce-bookworm.svg</file>
<file>tags/amber-ce-sid_full.svg</file>
<file>tags/amber-ce-sid.png</file>
<file>tags/amber-ce-sid.svg</file>
<file>tags/amber-ce-trixie_full.svg</file>
<file>tags/amber-ce-trixie.png</file>
<file>tags/amber-ce-trixie.svg</file>
<file>tags/native_full.svg</file>
<file>tags/native.png</file>
<file>tags/native.svg</file>
<file>translations/qtwebengine_zh.qm</file>
</qresource>
</RCC>

Binary file not shown.

Before

(image error) Size: 4.7 KiB

After

(image error) Size: 7.3 KiB

Binary file not shown.

After

(image error) Size: 8.6 KiB

Binary file not shown.

After

(image error) Size: 7.9 KiB

Binary file not shown.

After

(image error) Size: 8.2 KiB

Binary file not shown.

Before

(image error) Size: 5.7 KiB

After

(image error) Size: 11 KiB

Binary file not shown.

Before

(image error) Size: 4.8 KiB

After

(image error) Size: 7.9 KiB

Binary file not shown.

Before

(image error) Size: 5.0 KiB

After

(image error) Size: 9.2 KiB

Binary file not shown.

Before

(image error) Size: 4.9 KiB

After

(image error) Size: 6.9 KiB

Binary file not shown.

Before

(image error) Size: 4.7 KiB

After

(image error) Size: 6.3 KiB

Binary file not shown.

Before

(image error) Size: 4.5 KiB

After

(image error) Size: 6.0 KiB

BIN
src/assets/tags/native.png Normal file

Binary file not shown.

After

(image error) Size: 6.7 KiB

Binary file not shown.

Before

(image error) Size: 5.0 KiB

After

(image error) Size: 7.7 KiB

Binary file not shown.

Before

(image error) Size: 4.7 KiB

After

(image error) Size: 6.6 KiB

@ -65,16 +65,16 @@
</size>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -89,7 +89,7 @@
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -127,7 +127,7 @@
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -142,10 +142,10 @@
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -167,7 +167,7 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
@ -180,7 +180,7 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
@ -193,17 +193,17 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -221,7 +221,7 @@
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -247,7 +247,7 @@
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -267,7 +267,7 @@
<item>
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -293,7 +293,7 @@
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -308,10 +308,10 @@
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -345,7 +345,7 @@
<string>0</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
@ -355,7 +355,7 @@
<string>Download Times</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
</widget>
</item>
@ -366,7 +366,7 @@
<item>
<spacer name="verticalSpacer_9">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -381,7 +381,7 @@
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -392,7 +392,13 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="tag_ubuntu">
<widget class="CustomLabel" name="tag_ubuntu">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -411,7 +417,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_uos">
<widget class="CustomLabel" name="tag_uos">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -430,7 +442,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_deepin">
<widget class="CustomLabel" name="tag_deepin">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -449,7 +467,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_debian">
<widget class="CustomLabel" name="tag_debian">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -468,7 +492,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_native">
<widget class="CustomLabel" name="tag_native">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -482,12 +512,18 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app can only be installed natively&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="pixmap">
<pixmap resource="../assets/assets.qrc">:/tags/native.svg</pixmap>
<pixmap resource="../assets/assets.qrc">:/tags/native.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="tag_amber_ce_bookworm">
<widget class="CustomLabel" name="tag_amber_ce_bookworm">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -501,12 +537,18 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app will be installed to debian12 ACE&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="pixmap">
<pixmap resource="../assets/assets.qrc">:/tags/amber-ce-bookworm.svg</pixmap>
<pixmap resource="../assets/assets.qrc">:/tags/amber-ce-bookworm.png</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="tag_amber_ce_trixie">
<widget class="CustomLabel" name="tag_amber_ce_trixie">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -520,14 +562,14 @@
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This app will be installed to debian13 ACE&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="pixmap">
<pixmap resource="../assets/assets.qrc">:/tags/amber-ce-trixie.svg</pixmap>
<pixmap resource="../assets/assets.qrc">:/tags/amber-ce-trixie.png</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -544,7 +586,7 @@
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -555,7 +597,13 @@
</spacer>
</item>
<item>
<widget class="QLabel" name="tag_a2d">
<widget class="CustomLabel" name="tag_a2d">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -574,7 +622,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_community">
<widget class="CustomLabel" name="tag_community">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -593,7 +647,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_dtk5">
<widget class="CustomLabel" name="tag_dtk5">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -612,7 +672,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_dwine2">
<widget class="CustomLabel" name="tag_dwine2">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -631,7 +697,13 @@
</widget>
</item>
<item>
<widget class="QLabel" name="tag_dwine5">
<widget class="CustomLabel" name="tag_dwine5">
<property name="minimumSize">
<size>
<width>40</width>
<height>40</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
@ -652,7 +724,7 @@
<item>
<spacer name="horizontalSpacer_14">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -667,7 +739,7 @@
<item>
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -685,7 +757,7 @@
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -712,7 +784,7 @@
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -727,10 +799,10 @@
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -765,7 +837,7 @@
}</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
<enum>QFrame::Shape::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
@ -804,10 +876,10 @@
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
@ -863,7 +935,7 @@
<string>Introduction</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
@ -887,7 +959,7 @@
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
@ -917,13 +989,13 @@
<string/>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
@ -941,10 +1013,10 @@
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="spacing">
@ -1000,7 +1072,7 @@
<string>Screen capture</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
@ -1024,7 +1096,7 @@
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
@ -1072,13 +1144,13 @@ QListWidget::item::selected
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOn</enum>
</property>
<property name="autoScroll">
<bool>true</bool>
@ -1087,7 +1159,7 @@ QListWidget::item::selected
<number>5</number>
</property>
<property name="resizeMode">
<enum>QListView::Fixed</enum>
<enum>QListView::ResizeMode::Fixed</enum>
</property>
</widget>
</item>
@ -1105,10 +1177,10 @@ QListWidget::item::selected
</sizepolicy>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Shadow::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<property name="spacing">
@ -1164,7 +1236,7 @@ QListWidget::item::selected
<string>Description</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
</property>
<property name="wordWrap">
<bool>false</bool>
@ -1188,7 +1260,7 @@ QListWidget::item::selected
</size>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
</widget>
</item>
@ -1218,7 +1290,7 @@ QListWidget::item::selected
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
@ -1231,17 +1303,17 @@ QListWidget::item::selected
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="4">
<spacer name="verticalSpacer_7">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -1316,10 +1388,10 @@ QListWidget::item::selected
<item row="0" column="5">
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
<enum>QSizePolicy::Policy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -1335,7 +1407,7 @@ QListWidget::item::selected
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
@ -1361,10 +1433,10 @@ QListWidget::item::selected
<item row="0" column="2">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
<enum>QSizePolicy::Policy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -1406,7 +1478,7 @@ QListWidget::item::selected
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
@ -1442,7 +1514,7 @@ QListWidget::item::selected
<bool>true</bool>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
<set>Qt::TextInteractionFlag::LinksAccessibleByMouse|Qt::TextInteractionFlag::TextSelectableByKeyboard|Qt::TextInteractionFlag::TextSelectableByMouse</set>
</property>
</widget>
</item>
@ -1490,7 +1562,7 @@ QListWidget::item::selected
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
@ -1509,6 +1581,13 @@ QListWidget::item::selected
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>CustomLabel</class>
<extends>QLabel</extends>
<header>widgets/common/customlabel.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../assets/assets.qrc"/>
</resources>

@ -0,0 +1,25 @@
#include "customlabel.h"
#include <QGuiApplication>
CustomLabel::CustomLabel(QWidget *parent,
Qt::WindowFlags f)
: QLabel(parent, f)
{
}
QPixmap CustomLabel::pixmap() const
{
return QLabel::pixmap();
}
void CustomLabel::setPixmap(const QPixmap &pixmap)
{
QPixmap _pixmap = pixmap;
_pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
_pixmap = _pixmap.scaled(size() * _pixmap.devicePixelRatio(),
Qt::KeepAspectRatio,
Qt::SmoothTransformation);
QLabel::setPixmap(_pixmap);
}

@ -0,0 +1,19 @@
#ifndef CUSTOMLABEL_H
#define CUSTOMLABEL_H
#include <QLabel>
class CustomLabel : public QLabel
{
Q_OBJECT
Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap)
public:
explicit CustomLabel(QWidget *parent = nullptr,
Qt::WindowFlags f = Qt::WindowFlags());
virtual QPixmap pixmap() const;
virtual void setPixmap(const QPixmap &pixmap);
};
#endif // CUSTOMLABEL_H