يوفر عنصر واجهة المستخدم النصي Text
في مكتبة Tkinter طريقة مرنة لعرض وتحرير النص، لكن الخط الافتراضي قد لا يكون مثالياً دائماً. يستعرض هذا الدليل طرقًا مختلفة لتخصيص خط عنصر واجهة المستخدم النصي Text
في Tkinter، مما يحسّن من المظهر البصري وقابلية القراءة لواجهة المستخدم الرسومية.
جدول المحتويات
- ضبط الخط مباشرةً باستخدام
config()
- تحكم متقدم في الخط باستخدام
tkFont
- اختيار عائلة الخط المناسبة
- معالجة مشاكل توفر الخطوط
ضبط الخط مباشرةً باستخدام config()
أبسط نهج هو استخدام طريقة config()
. يسمح لك هذا بتحديد عائلة الخط، والحجم، والنمط في خطوة واحدة، على الرغم من أنه يوفر تحكمًا محدودًا.
import tkinter as tk
root = tk.Tk()
text_widget = tk.Text(root)
text_widget.pack()
# ضبط عائلة الخط، والحجم، والوزن (غامق)
text_widget.config(font=("Helvetica", 14, "bold"))
root.mainloop()
يُنشئ هذا عنصر واجهة مستخدم نصي بخط “Helvetica”، بحجم 14، ووزن غامق. جرّب خطوطًا مختلفة مثل “Times New Roman”، و”Arial”، و”Courier”، إلخ. يعتمد توفر الخطوط على نظامك.
تحكم متقدم في الخط باستخدام tkFont
للحصول على تحكم أكثر دقة، بما في ذلك إنشاء خطوط مخصصة، استخدم وحدة tkFont
. يوفر هذا مرونة أكبر في تحديد سمات الخط.
import tkinter as tk
import tkinter.font as tkFont
root = tk.Tk()
# إنشاء خط مخصص
custom_font = tkFont.Font(family="Arial", size=12, slant="italic", weight="bold", underline=True)
text_widget = tk.Text(root)
text_widget.pack()
# تطبيق الخط المخصص
text_widget.config(font=custom_font)
root.mainloop()
يقوم هذا الكود بإنشاء خط مخصص بعائلة، وحجم، وميل، ووزن، وتسطير محددين. يمكنك ضبط هذه المعلمات لتحقيق خصائص الخط المطلوبة.
اختيار عائلة الخط المناسبة
يؤثر اختيار عائلة الخط على قابلية القراءة والجماليات. يدعم Tkinter العديد من العائلات، لكن توفرها يعتمد على نظامك. تشمل الخيارات الشائعة:
- Helvetica/Arial: خطوط نظيفة، بدون تشريفات، مناسبة لتطبيقات متنوعة.
- Times New Roman: خط تشريفي كلاسيكي مثالي لكتل نص أطول.
- Courier: خط أحادي المسافة للكود والبرمجة.
- Verdana: خط بدون تشريفات مصمم لقابلية القراءة على الشاشة.
جرّب للعثور على أفضل مزيج لتطبيقك. أعط الأولوية لقابلية القراءة والاتساق.
معالجة مشاكل توفر الخطوط
إذا لم يكن الخط المحدد متوفرًا، فإن Tkinter يستخدم خطًا افتراضيًا من النظام. للتطبيقات القوية، قم بتضمين معالجة الأخطاء:
import tkinter as tk
import tkinter.font as tkFont
try:
custom_font = tkFont.Font(family="A Very Unlikely Font Name", size=12)
# ... استخدام custom_font ...
except tkFont.TclError as e:
print(f"Error loading font: {e}")
# ... استخدام خط بديل ...
يُظهر هذا المثال كتلة try-except
لالتقاط استثناءات tkFont.TclError
، والتي يتم إثارتها عندما يفشل Tkinter في تحميل خط محدد. يسمح لك هذا بمعالجة مثل هذه السيناريوهات بشكل أنيق وتقديم حل بديل.