53 lines
1.7 KiB
Markdown
Raw Normal View History

2023-06-29 11:55:02 +08:00
## 字体文件下载
fontawesome-webfont.ttf另一个是pe-icon-set-weather.ttf
fontawesome-webfont.ttf 下载地址http://fontawesome.dashgame.com/
pe-icon-set-weather.ttf 下载地址https://www.pixeden.com/icon-fonts/the-icons-font-set-weather
在pixeden中还有许多其它的图标字体库下载https://www.pixeden.com/icon-fonts
## Code
```
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFontDatabase>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//引入图形字体
int fontId = QFontDatabase::addApplicationFont(":/image/pe-icon-set-weather.ttf"); //加入字体并获取字体ID
QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0); //获取字体名称
QFont iconFont = QFont(fontName);
iconFont.setPixelSize(128); //设置字体大小
ui->lab_e901->setFont(iconFont); //设置Label的字体
ui->lab_e901->setText(QChar(0xe901)); //设置Label的文体
ui->lab_e901->setStyleSheet("color:red;");
QPalette blue_pe;
blue_pe.setColor(QPalette::WindowText,Qt::blue);
ui->lab_e903->setFont(iconFont);
ui->lab_e903->setText(QChar(0xe903));
ui->lab_e903->setPalette(blue_pe);
ui->lab_e905->setFont(iconFont);
ui->lab_e905->setText(QChar(0xe905));
ui->lab_e907->setFont(iconFont);
ui->lab_e907->setText(QChar(0xe907));
}
MainWindow::~MainWindow()
{
delete ui;
}
```
## QFontDatabase
QStringList QFontDatabase::families(QFontDatabase::WritingSystem writingSystem = Any) const
返回可用的字体列表。
QFont QFontDatabase::font(const QString &family, const QString &style, int pointSize) const
返回一个可用的字体对象。