سؤال

هل هناك طريقة سهلة لتغيير حجم الخط للعناصر النصية في GTK؟ الآن أفضل ما يمكنني فعله هو القيام به set_markup على تسمية، مع شيء سخيف مثل:

lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)

هذا 1) يتطلب مني ضبط الخط، 2) يبدو وكأنه الكثير من النفقات العامة (الحاجة إلى تحليل العلامات)، و 3) سيجعله مزعجا لتغيير حجم الخط للأزرار ومثل هذا. هل هناك طريقة أفضل؟

هل كانت مفيدة؟

المحلول

إذا كنت ترغب في تغيير الخط بشكل عام في التطبيق الخاص بك، فستترك هذه المهمة إلى GTKRC (ثم يصبح سؤالا جوجل، و "GTKRC Font" استعلام يجلبنا رابط منتديات أوبونتو الذي يحتوي على مقتطف التالي لملف GTKRC):

style "font"
{
font_name = "Corbel 8"
}
widget_class "*" style "font"
gtk-font-name = "Corbel 8"

(استبدل الخط الذي تحتاجه / مستخدم واحد)

ثم سيقوم المستخدم بالحصول على تجربة متسقة وسيتمكن من تغيير الإعدادات بسهولة دون الحاجة إليهم للتصنيع في التعليمات البرمجية ودون الحاجة إلى التعامل مع النفقات العامة للحفاظ على الرمز المتعلق بالتكوين الشخصي. أنا أفهم أنك يمكن أن تجعل هذا الإعداد أكثر تحديدا إذا كان لديك تعريف أكثر دقة للوحة Widget_Class.

YMMV لمنصات مختلفة، ولكن AFAIK هذا الملف موجود دائما في موقع آخر إذا تم استخدام GTK، ويسمح للمستخدم بأن يكون مسؤولا عن تفاصيل العرض التقديمي.

نصائح أخرى

في ج، يمكنك القيام به:

gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4"));

في Pygtk، أعتقد أنه شيء مثل:

pangoFont = pango.FontDescription("Tahoma 5.4")
lbl.modify_font(pangoFont)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top