在Qt中使用Font Awesome圖標


官網: http://fontawesome.io/
中文網: http://www.fontawesome.com.cn/
GitHub: https://github.com/FortAwesome/Font-Awesome
1 首先我們從官網(http://www.fontawesome.com.cn/)或者GitHub上下載到最新的源碼
2 在解壓目錄中找到 fonts\fontawesome-webfont.ttf 拷貝出來,這個是我們Qt程序使用FontAwesome圖標字體庫時需要加載的
3 然后在css目錄下找到font-awesome.css這個是我們開發時需要對字體編碼進行查找用的
4 在官網的 http://fontawesome.io/icons/ 頁面可以查看所有的圖標, 挑選我們需要的
使用時比如我們需要用這個心形的圖標

其名稱為heart, 那么在font-awesome.css中我們通過查找就可以得到它對應的字體編碼

其字體編碼為 f004
后面我們代碼中會用到這個
也有更方便的方式: 官網直接查看字體編碼 http://fontawesome.io/cheatsheet/

 

QT使用方法:

//test
    QLabel *label1 = new QLabel;
    QLabel *label2 = new QLabel;
    int fontId = QFontDatabase::addApplicationFont("/home/qilin64//Documents/Git/qt-gui-elements/TableToolBox-footer/QTableTest/QTableTest/Resouces/fontawesome-webfont.ttf");
    QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
    qDebug() << "fontFamilies.size() " << fontFamilies.size();

    // 創建字體
    QFont font;
    font.setFamily(fontFamilies.at(0));
    font.setPointSize(20);

    // 設置字體及樣式、大小
    label1->setFont(font);
    label1->setText(QChar(0xf00e)); //該圖標在font-awesome.css文件中查找定義
    label1->setStyleSheet("color: rgb(0, 160, 230);");

    QString str = QString("%1%2").arg(QChar(0xf014)).arg(" 刪除");
    font.setPointSize(12);
    label2->setFont(font);
    label2->setText(str);
    label2->setStyleSheet("color: rgb(0 , 167 , 252);");

    QPushButton *btn = new QPushButton;
    btn->setFont(font);
    btn->setText(str);
    btn->setFlat(true);
    btn->setFocusPolicy(Qt::NoFocus);
    //end test

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM