Qt之字体文件(TTF)图标字体库

来源:互联网 发布:python 执行shell脚本 编辑:程序博客网 时间:2024/05/28 15:23

在看了别人源代码后发现里面有个非常好看的字体,查 了些资料现在记录下:
一套绝佳的图标字体库和CSS框架:
http://fontawesome.dashgame.com/
这套图形字体真的非常好看,现在介绍下怎么使用:

把下载下来的压缩包解压,把font目录下的tty文件添加到资源中。

Widget::Widget(QWidget *parent) :    QWidget(parent),    ui(new Ui::Widget){    ui->setupUi(this);    // 添加字体文件    int fontId = QFontDatabase::addApplicationFont(":/fontawesome-webfont.ttf");    QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);    // 创建字体    QFont iconFont;    iconFont.setFamily(fontFamilies.at(0)); //FontAwesome    //设置下按钮的icon大小    ui->pushButton->setIconSize(QSize(80, 70));    //准备把图形字体绘制到按钮上    QPixmap pix(80, 70);    pix.fill(Qt::transparent);    //设置画笔    QPainter painter;    painter.begin(&pix);    //消除按钮按下的效果    painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);    //设置画笔颜色    painter.setPen(QColor("#1570A5"));    //设置刷子颜色    painter.setBrush(QColor("#1570A5"));    //设置图形大小,这个大小主要取决与icon大小,icon设置的比较小,这个设置再大也没用    iconFont.setPointSize(50);    painter.setFont(iconFont);    //画图形字体    painter.drawText(pix.rect(), Qt::AlignCenter, QChar(0xf11b));    painter.end();    //设置图标    ui->pushButton->setIcon(QIcon(pix));}

效果如下:
这里写图片描述

想设置不同的字体图标主要设置QChar(0xf11b);
这个可以去刚上面贴的地址种找到你想要的图标,然后复制,再去刚才下的包种的ccs目录的font-awesome.css文件中查找。

原创粉丝点击