QTAwesome هي مكتبة لإضافة رموز رائعة إلى تطبيق QT الخاص بك.
أنماط دووتون إضافية
عرض changelog
هذا هو الإصدار 6 رهيبة 6. يحل محل الفرع الرئيسي ، الذي كان لا يزال خطًا رائعًا 4. (يوجد أيضًا فرع رائع 5 ، ولكن لم يتم دمجه على الفرع الرئيسي/الرئيسي.)
هذا الإصدار لا يتوافق مع الإصدارات 4 و 5. تم اتخاذ القرار للحصول على نسخة نظيفة جديدة أكثر ملاءمة للمستقبل. (طبقة التوافق قيد التطوير).
تستخدم الإصدارات السابقة قائمة أيقونة مصنوعة يدويًا ، يحتوي هذا الإصدار على قائمة تم إنشاؤها.
وجود مشاكل في هذا الإصدار الجديد؟
master السابق في فرع Fontawesome-4. (يتم إسقاط master لصالح main ) أسهل طريقة لتضمين Qtaweome في مشروعك هي نسخ دليل QTAwesome إلى شجرة مشروعك وإضافة ما يلي include() إلى ملف مشروع QT الخاص بك:
CONFIG+=fontAwesomeFree
include(QtAwesome/QtAwesome.pri)الآن أنت على ما يرام! يتم تضمين الخطوط المجانية في هذا المشروع.
لتفعيل الإصدار Pro ، يجب تحديد fontAwesomePro Config.
CONFIG+=fontAwesomePro
include(QtAwesome/QtAwesome.pri) ويجب نسخ ملفات الخطوط المحترفة إلى مجلد QtAwesome/fonts/pro . (Ex ، Font Awesome 6 Brands-Regular-400.OTF ، إلخ ...)
ربما ترغب في إنشاء كائن QTawomesh واحد لتطبيقك بالكامل.
fa::QtAwesome* awesome = new fa::QtAwesome(qApp)
awesome-> initFontAwesome (); // This line is important as it loads the font and initializes the named icon map بعد ذلك ، يمكن الوصول إلى الرموز عبر طريقة awesome->icon .
// 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!");من أجل بناء الجملة الأقصر (أكثر من ذلك خطًا مثل) ، من الممكن إحضار مساحة اسم FA إلى نطاق Curren:
using namespace fa ;
QPushButton* btn = new QPushButton(awesome-> icon (fa_solid, fa_wine_glass), "Cheers!");من الممكن إنشاء بعض الخيارات الإضافية للأيقونات. يمكن العثور على الخيارات المتاحة في قائمة الخيارات الافتراضية
QVariantMap options;
options.insert( " color " , QColor( 255 , 0 , 0 ));
QPushButton* musicButton = new QPushButton(awesome-> icon (fa::fa_solid, fa::music, options), "Music"); يمكن أيضًا تعديل خيار الافتراضيات عبر طريقة setDefaultOption .
على سبيل المثال وجود أيقونات تعطيل أخضر ، من الممكن الاتصال:
awesome-> setDefaultOption ( " color-disabled " , QColor( 0 , 255 , 0 ));من الممكن أيضًا تقديم تسمية مباشرة مع هذا الخط
QLabel* label = new QLabel(QChar(fa::fa_github));
label-> setFont (awesome-> font (fa::fa_brands, 16 ));يسجل هذا المثال رسامًا مخصصًا لدعم أيقونة مخصصة تسمى "مكرر" ، وهو ببساطة يرسم 2 "علامات زائد".
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());بعد ذلك ، يمكن استخدام هذا الرمز مع اسم السلسلة المحددة:
awesome-> icon ( " duplicate " )الخيارات التالية هي الإعدادات الافتراضية في فئة QTawomese.
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 );عناصر إضافية للإصدار المحترف
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));عند إنشاء أيقونة ، يقوم أولاً بملء خريطة الخيارات مع الخيارات الافتراضية من كائن QTAwesome. بعد ذلك يتم توسيع الخيارات/الكتابة فوقها بالخيارات المقدمة إلى الرمز.
من الممكن استخدام رسول أخرى لكل دولة رمز. على سبيل المثال ، لإجراء مفتاح رمز inlock إلى قفل عند تحديده ، يمكنك توفير الخيار التالي:
options.insert( " text-selected " , QString(fa::fa_lock)); خيارات اللون والنص لها الهيكل التالي: keyname-iconmode-iconstate
عندما يكون IconMode طبيعيًا فارغًا
و iconstate on فارغ
لذا فإن قائمة العناصر المستخدمة هي:
على Mac OS X ، وضع أيقونة QTawesome في قائمة QMainwindow ، لا يعمل مباشرة. انظر المشكلة التالية: [#10]
يتمثل حل في هذه المشكلة إلى تحويلها إلى أيقونة pixmap:
QAction* menuAction = new QAction( " test " );
menuAction-> setIcon (awesome-> icon (fa::fa_heart).pixmap( 32 , 32 ));fafa::user => fa::fa_user . مع الشرطات التي تحل محلها السفلية.fa::fa_regular ، fa::fa_solidشكرا الذهاب إلى المساهمين في هذا المشروع!
شكرا جزيلا إلى ديف غاندي خط آخر مساهمين رائعون !! https://github.com/fortawesome/font-awesome وبالطبع لفريق QT/المساهمين لتزويد مكتبة C ++ الرائعة.
المساهمات مرحب بها! لا تتردد في الشوكة وإرسال طلب سحب من خلال جيثب.
قائمة المساهمة المصنوعة مع contrib.rocks.
رخصة معهد ماساتشوستس للتكنولوجيا. حقوق الطبع والنشر 2013-2022 - برنامج BITs الموثوق به من قبل Blommers It. https://blommersit.nl/
الخط الرائع ، تم ترخيص الخط الرائع بموجب ترخيص SIL Open Font - https://scripts.sil.org/ofl تم ترخيص الصور التوضيحية الرائعة بموجب CC بواسطة 3.0 ترخيص - https://creativecommons.org/licenses/by/3.0/