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

在看了别人源代码后发现里面有个非常好看的字体,查 了些资料现在记录下:
一套绝佳的图标字体库和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));
}

效果如下:
Qt之字体文件(TTF)图标字体库_第1张图片

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

你可能感兴趣的:(QT)