Użyłem niestandardowej czcionki aby wyświetlić ikonę
Dlaczego Qt narysowało poprawny znak choć nie wybrałem nigdzie czcionki "FontAwesome" ?
Domyślna czcionka "MS Shell Dlg 2" nie posiada znaku "\uf083" , a po załadowaniu fontu QFontDatabase::addApplicationFont
jednak sie rysuje znak aparatu
<RCC>
<qresource prefix="/">
<file alias="FontAwesome.otf">FontAwesome.otf</file>
</qresource>
</RCC>
#include <QApplication>
#include <QLabel>
#include <QFontDatabase>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if (QFontDatabase::addApplicationFont(":/FontAwesome.otf") < 0)
qWarning() << "FontAwesome cannot be loaded !";
QLabel w;
QFont f;
f.setPixelSize(32);
w.setFont(f);
qDebug()<< f.family();
w.resize(100,100);
w.setText("\uf083"); // aparat fotograficzny
w.show();
return a.exec();
}
Czy nie powinno byc tak że jak znak jest poza zakresem czcionki to jest "kwadracik"
I dopiero jawne wywołanie
f.setFamily("FontAwesome");
powoduje ze znak się rysuje poprawnie ?
Chyba że Qt ma jakaś inną strategię , jak nie znajdzie znaku to szuka we wszystkich dostępnych czcionkach ?
Taka tylko ciekawostka :)