QDS IconFont to Icons importer

Change-Id: Idae58499cf3a3e3967e701597b0f00c16367c602
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Aleksei German
2020-04-07 19:17:33 +02:00
parent 38a7bfe4eb
commit ab5a0c9cb1
2 changed files with 30 additions and 0 deletions

View File

@@ -35,6 +35,7 @@
#include <QCommonStyle> #include <QCommonStyle>
#include <QStyleOption> #include <QStyleOption>
#include <QWindow> #include <QWindow>
#include <QFontDatabase>
#include <qmath.h> #include <qmath.h>
// Clamps float color values within (0, 255) // Clamps float color values within (0, 255)
@@ -542,6 +543,33 @@ QLinearGradient StyleHelper::statusBarGradient(const QRect &statusBarRect)
return grad; return grad;
} }
QPixmap StyleHelper::getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize)
{
QFontDatabase a;
Q_ASSERT(a.hasFamily(fontName));
if (a.hasFamily(fontName)) {
QPixmap icon(iconSize, iconSize);
icon.fill(Qt::transparent);
QPainter painter(&icon);
QFont font(fontName);
font.setPixelSize(fontSize);
QColor penColor = QApplication::palette("QWidget").color(QPalette::Normal, QPalette::ButtonText);
painter.save();
painter.setPen(penColor);
painter.setFont(font);
painter.drawText(QRectF(0, 0, iconSize, iconSize), iconSymbol);
painter.restore();
return icon;
}
return {};
}
QString StyleHelper::dpiSpecificImageFile(const QString &fileName) QString StyleHelper::dpiSpecificImageFile(const QString &fileName)
{ {
// See QIcon::addFile() // See QIcon::addFile()

View File

@@ -93,6 +93,8 @@ public:
static void tintImage(QImage &img, const QColor &tintColor); static void tintImage(QImage &img, const QColor &tintColor);
static QLinearGradient statusBarGradient(const QRect &statusBarRect); static QLinearGradient statusBarGradient(const QRect &statusBarRect);
static QPixmap getIconFromIconFont(const QString &fontName, const QString &iconSymbol, int fontSize, int iconSize);
static QString dpiSpecificImageFile(const QString &fileName); static QString dpiSpecificImageFile(const QString &fileName);
static QString imageFileWithResolution(const QString &fileName, int dpr); static QString imageFileWithResolution(const QString &fileName, int dpr);
static QList<int> availableImageResolutions(const QString &fileName); static QList<int> availableImageResolutions(const QString &fileName);