QT美化使用字体图标
准备字体图标资源
fontawesome下载地址
解压得到文件如下
建立QT工程
使用qtcreator创建mainwindow工程
工程增加字体图标资源文件
在.pro
文件中增加内容如下:
RESOURCES += \
resource/resource.qrc
那么在工程目录下建立
#建立resource目录
mkdir -p resource
mkdir -p resource/ico_ttf
#建立qrc文件
touch resource/resource.qrc
编辑resource.qrc
文件
<RCC>
<qresource prefix="/resource_file"/>
<qresource prefix="/">
<file>ico_ttf/fontawesome-webfont.ttf</file>
</qresource>
</RCC>
从下载的fontawesome解压目录中复制fontawesome-webfont.ttf
到ico_ttf
目录下
创建一个按钮控件
打开UI设计工具,拖一个PushButton到界面
在mainwindow.cpp中实例化中
/*装载图形字体*/
QFont iconFont;
QFontDatabase fontDb;
if(!fontDb.families().contains("FontAwesome"))
{
int fontId = fontDb.addApplicationFont(":/ico_ttf/fontawesome-webfont.ttf");
QStringList fontName = fontDb.applicationFontFamilies(fontId);
if(fontName.count() == 0)
{
qDebug() << "load fontawesome-webfont.ttf error";
}
}
if(fontDb.families().contains("FontAwesome"))
{
iconFont = QFont("FontAwesome");
iconFont.setHintingPreference(QFont::PreferNoHinting);
}
iconFont.setPixelSize(14);
设置按钮字体
找到想要设置的字体
复制名称fa-file-text
到font-awesome.css
中查找
QString ico_text = QString("%1%2").arg(QChar(0xf15c)).arg(" 文件");
ui->pushButton->setFont(iconFont);
ui->pushButton->setText(ico_text);