QTAwesome ist eine Bibliothek, in der Sie Ihrer QT -Anwendung Schriftartsymbole hinzufügen können.
Zusätzliche Duotone -Stile
ChangeLog anzeigen
Dies ist die Font Awesome 6 -Veröffentlichung. Es ersetzt die Hauptzweig, die noch eine fantastische 4 -Version von Schriftart war. (Es gibt auch eine teure 5 -Branche mit Schriftart, wurde aber nie mit dem Haupt-/Master -Zweig verschmolzen.)
Diese Veröffentlichung ist nicht vollständig mit den 4 und 5 Veröffentlichungen kompatibel. Die Entscheidung wurde für eine neue saubere Version getroffen, die besser für die Zukunft geeignet war. (Eine Kompatibilitätsschicht befindet sich in der Entwicklung).
Frühere Versionen verwendeten eine handgefertigte Symbolliste, diese Version enthält eine generierte Liste.
Probleme mit dieser neuen Veröffentlichung haben?
master Zweig im Fontawesome-4-Zweig. ( master wird zugunsten des main fallen) Der einfachste Weg, Qtaweome in Ihr Projekt aufzunehmen, besteht darin, das QTawesome -Verzeichnis in Ihren Projektbaum zu kopieren und Folgendes include() zu Ihrer QT -Projektdatei hinzuzufügen:
CONFIG+=fontAwesomeFree
include(QtAwesome/QtAwesome.pri)Jetzt bist du gut zu gehen! Die kostenlosen Schriftarten sind in diesem Projekt enthalten.
Um die Pro -Version zu aktivieren, sollte fontAwesomePro -Konfiguration definiert werden.
CONFIG+=fontAwesomePro
include(QtAwesome/QtAwesome.pri) Und die Pro -Schriftart -Dateien müssen in den Ordner QtAwesome/fonts/pro kopiert werden. (Beispiel, fantastische 6 Marken-Regular-400.otf usw.)
Sie möchten wahrscheinlich ein einzelnes Qtawesome -Objekt für Ihre gesamte Anwendung erstellen.
fa::QtAwesome* awesome = new fa::QtAwesome(qApp)
awesome-> initFontAwesome (); // This line is important as it loads the font and initializes the named icon map Als nächstes können auf die Symbole über die awesome->icon zugegriffen werden.
// The most performant operation the get an icon
QPushButton* btn = new QPushButton(awesome-> icon (fa::fa_solid, fa::fa_wine_glass), "Cheers!");
// You can also use 'string' names to access the icons.
QPushButton* btn = new QPushButton(awesome-> icon ( " fa-solid fa-coffee " ), "Black please!");
// The string items passed to the icon method can be used without the 'fa-' prefix
QPushButton* btn = new QPushButton(awesome-> icon ( " solid coffee " ), "Black please!");
// The style is also optional and will fallback to the 'solid' style
QPushButton* btn = new QPushButton(awesome-> icon ( " coffee " ), "Black please!");Für eine kürzere Syntax (mehr Schriftart Awesome wie) ist der FA -Namespace in den Curren -Bereich eingebracht:
using namespace fa ;
QPushButton* btn = new QPushButton(awesome-> icon (fa_solid, fa_wine_glass), "Cheers!");Es ist möglich, einige zusätzliche Optionen für die Symbole zu erstellen. Die verfügbaren Optionen finden Sie in der Liste der Standardoptionen
QVariantMap options;
options.insert( " color " , QColor( 255 , 0 , 0 ));
QPushButton* musicButton = new QPushButton(awesome-> icon (fa::fa_solid, fa::music, options), "Music"); Die Standardoption kann auch über die setDefaultOption -Methode eingestellt werden.
Zum Beispiel ist es möglich, grün -deaktivierte Symbole aufzurufen:
awesome-> setDefaultOption ( " color-disabled " , QColor( 0 , 255 , 0 ));Es ist auch möglich, ein Etikett direkt mit dieser Schriftart zu rendern
QLabel* label = new QLabel(QChar(fa::fa_github));
label-> setFont (awesome-> font (fa::fa_brands, 16 ));Dieses Beispiel registriert einen benutzerdefinierten Maler, um ein benutzerdefiniertes Symbol mit dem Namen "Duplicate" zu unterstützen. Es zeichnet einfach 2 "Plusmarken".
class DuplicateIconPainter : public QtAwesomeIconPainter
{
public:
virtual void paint (QtAwesome* awesome, QPainter* painter, const QRect& rectIn, QIcon::Mode mode, QIcon::State state, const QVariantMap& options)
{
int drawSize = qRound (rectIn. height () * 0.5 );
int offset = rectIn. height () / 4 ;
QChar chr = QChar ( static_cast < int >(fa::plus));
int st = fa::fa_solid;
painter-> setFont (st, awesome-> font (drawSize));
painter-> setPen ( QColor ( 100 , 100 , 100 ));
painter-> drawText ( QRect ( QPoint (offset * 2 , offset * 2 ),
QSize (drawSize, drawSize)), chr ,
QTextOption (Qt::AlignCenter|Qt::AlignVCenter));
painter-> setPen ( QColor ( 50 , 50 , 50 ));
painter-> drawText ( QRect ( QPoint (rectIn. width () - drawSize-offset, rectIn. height () - drawSize - offset),
QSize (drawSize, drawSize) ), chr ,
QTextOption (Qt::AlignCenter | Qt::AlignVCenter));
}
};
awesome-> give ( " duplicate " , new DuplicateIconPainter());Danach kann dieses Symbol mit dem angegebenen Zeichenfolgennamen verwendet werden:
awesome-> icon ( " duplicate " )Die folgenden Optionen sind die Standardeinstellungen in der QtaWesome -Klasse.
setDefaultOption ( " color " , QApplication::palette().color(QPalette::Normal, QPalette::Text));
setDefaultOption ( " color-disabled " , QApplication::palette().color(QPalette::Disabled, QPalette::Text));
setDefaultOption ( " color-active " , QApplication::palette().color(QPalette::Active, QPalette::Text));
setDefaultOption ( " color-selected " , QApplication::palette().color(QPalette::Active, QPalette::Text));
setDefaultOption ( " text " , QString()); // internal option
setDefaultOption ( " text-disabled " , QString());
setDefaultOption ( " text-active " , QString());
setDefaultOption ( " text-selected " , QString());
setDefaultOption ( " scale-factor " , 0.9 );Zusätzliche Elemente für die Pro -Version
setDefaultOption ( " duotone-color " , QApplication::palette().color(QPalette::Normal, QPalette::BrightText));
setDefaultOption ( " duotone-color-disabled " , QApplication::palette().color(QPalette::Disabled, QPalette::BrightText));
setDefaultOption ( " duotone-color-active " , QApplication::palette().color(QPalette::Active, QPalette::BrightText));
setDefaultOption ( " duotone-color-selected " , QApplication::palette().color(QPalette::Active, QPalette::BrightText));Beim Erstellen eines Symbols wird zunächst die Options-MAP mit den Standardoptionen des QTawesome-Objekts gefüllt. Danach werden die Optionen durch die für das Symbol bereitgestellten Optionen erweitert/überschrieben.
Es ist möglich, eine andere Glyphe pro Icon-Staat zu verwenden. Um beispielsweise einen Symbol für Symbol-Unlock-Symbol für gesperrt zu machen, können Sie die folgende Option angeben:
options.insert( " text-selected " , QString(fa::fa_lock)); Farb- und Textoptionen haben die folgende Struktur: keyname-iconmode-iconstate
Wenn IconMode normal ist, ist leer
Und iConstate on ist leer
Die Liste der verwendeten Elemente lautet also:
Auf Mac OS X funktioniert das Platzieren eines QtaWesome -Symbols im Menü QMainWindow nicht direkt. Siehe das folgende Problem: [#10]
Eine Problemumgehung für dieses Problem besteht darin, es in ein Pixmap -Symbol zu konvertieren:
QAction* menuAction = new QAction( " test " );
menuAction-> setIcon (awesome-> icon (fa::fa_heart).pixmap( 32 , 32 ));fa -Namespace wird alles genanntfa::user => fa::fa_user . Mit den durch Unterstriche ersetzten Striche.fa::fa_regular , fa::fa_solidVielen Dank an die Mitwirkenden dieses Projekts!
Vielen Dank an Dave Gandy und die anderen Schriftart fantastischen Mitwirkenden !! https://github.com/fortawesome/font-awesome und natürlich an das QT-Team/die Mitwirkenden für die Lieferung dieser großartigen C ++ -Bibliothek.
Beiträge sind willkommen! Fühlen Sie sich frei zu gib und senden Sie eine Pull -Anfrage über GitHub.
Beitragsliste mit Contrig.Rocks.
MIT -Lizenz. Copyright 2013-2022 - Zuverlässige Bits -Software von Blommers It. https://blommersit.nl/
Die Schriftart der Schriftart ist unter der SIL Open -Schriftart Lizenz lizenziert - https://scripts.sil.org/ofl Die Schriftart Fantastische Biltogramme sind unter der CC von 3.0 Lizenz lizenziert - https://creativsecommons.org/licenses/by/3.0/ "FONTHOWSMOW - FONDOWME VON DAVEN GANDY.