diff options
Diffstat (limited to 'helper.cpp')
-rw-r--r-- | helper.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -10,15 +10,19 @@ namespace Helper { QIcon iconFromQChar(const QChar &c, int pixelSize){ - QPixmap pm(QSize(64,64)); - QPainter p(&pm); - QFont f = p.font(); + QImage img(32, 32, QImage::Format_ARGB32); + img.fill(QColor(0, 0, 0, 0)); + QPainter p(&img); + p.setRenderHint(QPainter::Antialiasing); + p.setRenderHint(QPainter::TextAntialiasing); + p.setRenderHint(QPainter::SmoothPixmapTransform); + p.setPen(qApp->palette().color(QPalette::Text)); + QFont f(qApp->font()); f.setPixelSize(pixelSize); + f.setBold(true); p.setFont(f); - p.fillRect(pm.rect(), qApp->palette().color(QPalette::Window)); - p.setBrush(QBrush(Qt::black)); - p.drawText(pm.rect(), Qt::AlignCenter, c); - return QIcon(pm); + p.drawText(img.rect(), Qt::AlignCenter, c); + return QIcon(QPixmap::fromImage(img)); } QAction* createSeparator(QObject *parent){ |