当前位置:   article > 正文

Qt加载图标字体库fontawesome_qchar(0xf068)

qchar(0xf068)

一、概述

在编写qt界面的过程中,经常会使用到一些图标字体。fontawesome是一个很不错的图标字体库,通过使用fontawesome可以显示很多图标。

fontawesom官网:fontawesome图标字体库

二、调用方法

把fontawesome-webfont.ttf加载到资源文件

直接上干货,头文件如下:

  1. #ifndef ICONHELPER_H
  2. #define ICONHELPER_H
  3. #include <QObject>
  4. #include <QFont>
  5. #include <QFontDatabase>
  6. #include <QMutex>
  7. #include <QLabel>
  8. #include <QPushButton>
  9. #include<QToolButton>
  10. #include <QApplication>
  11. class IconHelper : public QObject
  12. {
  13. private:
  14. explicit IconHelper(QObject *parent = 0);
  15. QFont iconFont;
  16. static IconHelper* _instance;
  17. public:
  18. static IconHelper* Instance()
  19. {
  20. static QMutex mutex;
  21. if (!_instance) {
  22. QMutexLocker locker(&mutex);
  23. if (!_instance) {
  24. _instance = new IconHelper;
  25. }
  26. }
  27. return _instance;
  28. }
  29. void SetIcon(QLabel* lab, QChar c, int size = 10);
  30. void SetIcon(QPushButton* btn, QChar c, int size = 10);
  31. void SetIcon(QToolButton* btn, QChar c, int size = 10);
  32. };
  33. #endif // ICONHELPER_H

CPP文件如下:

  1. #include "iconhelper.h"
  2. IconHelper* IconHelper::_instance = 0;
  3. IconHelper::IconHelper(QObject*):
  4. QObject(qApp)
  5. {
  6. int fontId = QFontDatabase::addApplicationFont(":/image/fontawesome-webfont.ttf");
  7. QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0);
  8. iconFont = QFont(fontName);
  9. }
  10. void IconHelper::SetIcon(QLabel* lab, QChar c, int size)
  11. {
  12. iconFont.setPointSize(size);
  13. lab->setFont(iconFont);
  14. lab->setText(c);
  15. }
  16. void IconHelper::SetIcon(QPushButton* btn, QChar c, int size)
  17. {
  18. iconFont.setPointSize(size);
  19. btn->setFont(iconFont);
  20. btn->setText(c);
  21. }
  22. void IconHelper::SetIcon(QToolButton* btn, QChar c, int size)
  23. {
  24. iconFont.setPointSize(size);
  25. btn->setFont(iconFont);
  26. btn->setText(c);
  27. }

调用

  1. IconHelper::Instance()->SetIcon(ui->closeBtn, QChar(0xf00d), 10);
  2. IconHelper::Instance()->SetIcon(ui->maxBtn, QChar(0xf096), 10);
  3. IconHelper::Instance()->SetIcon(ui->minimumBtn, QChar(0xf068), 10);

运行效果截图:

fontawesome图标对应字符截图:

下载链接:https://download.csdn.net/download/weixin_41882459/12748864

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48760
推荐阅读
相关标签
  

闽ICP备14008679号