تُعدّ واجهة Entry
في مكتبة Tkinter مكوّناً أساسياً لإدخال بيانات المستخدم في تطبيقات واجهة المستخدم الرسومية. وإدارة أبعادها بفعالية أمرٌ بالغ الأهمية لتصميم واجهات بديهية وجذابة بصرياً. يُفصّل هذا الدليل تقنيات متنوعة للتحكم في ارتفاع وعرض واجهة Entry
في Tkinter، مُقدّماً مرونةً بناءً على أسلوب إدارة التصميم الذي تختاره.
جدول المحتويات
1. استخدام خيار width
تتمثل أبسط طريقة في استخدام خيار width
أثناء إنشاء العنصر. يُحدد هذا الخيار العرض بوحدات الأحرف، وليس بالبكسل. ويعتمد العرض الفعلي بالبكسل على الخط المُختار.
import tkinter as tk
root = tk.Tk()
# عنصر إدخال بعرض 20 حرفاً
entry1 = tk.Entry(root, width=20)
entry1.pack()
root.mainloop()
يُنشئ هذا حقل إدخال قادر على عرض ما يقارب 20 حرفاً. وقد يختلف العدد الدقيق قليلاً حسب الخط وعرض الأحرف. لاحظ أن هذه الطريقة تُعدّل العرض فقط؛ بينما يتم تحديد الارتفاع تلقائياً حسب حجم الخط.
2. تحكم دقيق مع مدير الهندسة place
يُتيح مدير الهندسة place
تحكماً دقيقاً في حجم العنصر وموقعه بالبكسل. وبينما يبقى خيار width
القائم على الأحرف قابلاً للتطبيق، يمكنك استخدام width
و height
(بالبكسل) مع طريقة place
لتحديد الأبعاد مباشرةً.
import tkinter as tk
root = tk.Tk()
entry2 = tk.Entry(root)
entry2.place(x=50, y=50, width=200, height=30) # العرض والارتفاع بالبكسل
root.mainloop()
يُضع هذا عنصر Entry
عند (50, 50) ويُحدد أبعاده إلى 200 بكسل عرضاً و 30 بكسل ارتفاعاً. يُتيح هذا تحكماً دقيقاً، متجاوزاً عرض الأحرف إذا تم تحديد كليهما.
3. حشو داخلي مع ipadx
و ipady
لا يدعم مديرو الهندسة pack
و grid
عرضاً وارتفاعاً قائمين على البكسل مباشرةً. بدلاً من ذلك، يُقدّمان ipadx
و ipady
. يُضيف هذان الخياران حشواً داخلياً، مما يزيد حجم العنصر بشكل فعال.
import tkinter as tk
root = tk.Tk()
# باستخدام pack
entry3 = tk.Entry(root)
entry3.pack(ipadx=50, ipady=10) # يُضيف 50 بكسل أفقياً و 10 بكسل عمودياً
# باستخدام grid
entry4 = tk.Entry(root)
entry4.grid(row=0, column=0, ipadx=50, ipady=10) # يُضيف 50 بكسل أفقياً و 10 بكسل عمودياً
root.mainloop()
يُضيف ipadx
حشواً أفقياً، مُوسّعاً حقل الإدخال. يُضيف ipady
حشواً عمودياً، مُزيداً ارتفاعه. يزيد هذا المساحة *الداخلية*، وليس الصندوق المُحيط بالعنصر. وهذا مفيد لإضافة مسافة حول النص.
باختصار، تعتمد الطريقة المثلى على متطلبات تصميمك. لاستخدام تعديل العرض القائم على الأحرف، استخدم خيار width
. للحصول على تحكم دقيق بالبكسل، استخدم place
. للحشو الداخلي، استخدم ipadx
و ipady
مع pack
أو grid
. تذكر مراعاة حجم الخط وعرض الأحرف عند تعيين القيم.