fix: 修复不跟随系统字体问题
This commit is contained in:
parent
2890cab093
commit
3f2c35679d
|
@ -11,18 +11,18 @@ Text {
|
|||
function updateColor() {
|
||||
color = themePalette.paletteColorWithCustomTransparency(paletteRole, Palette.Active, alpha);
|
||||
}
|
||||
function updateFontSize() {
|
||||
systemFontSize = themePalette.systemFontSize();
|
||||
function updateFont() {
|
||||
font = themePalette.systemFont();
|
||||
}
|
||||
Component.onCompleted: {
|
||||
updateColor();
|
||||
updateFontSize();
|
||||
updateFont();
|
||||
themePalette.styleColorChanged.connect(updateColor);
|
||||
themePalette.systemFontSizeChanged.connect(updateFontSize);
|
||||
themePalette.systemFontChanged.connect(updateFont);
|
||||
}
|
||||
Component.onDestruction: {
|
||||
themePalette.styleColorChanged.disconnect(updateColor);
|
||||
themePalette.systemFontSizeChanged.disconnect(updateFontSize);
|
||||
themePalette.systemFontChanged.disconnect(updateFont);
|
||||
}
|
||||
onPaletteRoleChanged: {
|
||||
updateColor();
|
||||
|
|
|
@ -42,6 +42,9 @@ ThemePalette::ThemePalette(QObject *parent) : QObject(parent)
|
|||
connect(qGuiApp, &QGuiApplication::paletteChanged, this, [=] {
|
||||
Q_EMIT styleColorChanged();
|
||||
});
|
||||
connect(qGuiApp, &QGuiApplication::fontChanged, this, [=] {
|
||||
Q_EMIT systemFontChanged();
|
||||
});
|
||||
}
|
||||
|
||||
QColor ThemePalette::paletteColor(Palette::ColorRole colorRole, Palette::ColorGroup colorGroup) const
|
||||
|
@ -222,3 +225,8 @@ qreal ThemePalette::systemFontSize() const
|
|||
{
|
||||
return m_fontSize;
|
||||
}
|
||||
|
||||
QFont ThemePalette::systemFont()
|
||||
{
|
||||
return QGuiApplication::font();
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
|
||||
#include <QObject>
|
||||
#include <QPalette>
|
||||
#include <QFont>
|
||||
#include "settings.h"
|
||||
|
||||
namespace UkuiMenu {
|
||||
|
@ -94,9 +95,11 @@ public:
|
|||
Q_INVOKABLE QColor separator(Palette::ColorGroup colorGroup = Palette::Active) const;
|
||||
|
||||
Q_INVOKABLE qreal systemFontSize() const;
|
||||
Q_INVOKABLE QFont systemFont();
|
||||
|
||||
Q_SIGNALS:
|
||||
void styleColorChanged();
|
||||
void systemFontChanged();
|
||||
void systemFontSizeChanged();
|
||||
|
||||
private Q_SLOTS:
|
||||
|
|
Loading…
Reference in New Issue