Tkinter Tutorials

إتقان أبعاد عنصر الإدخال في Tkinter

Spread the love

تُعدّ واجهة 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. تذكر مراعاة حجم الخط وعرض الأحرف عند تعيين القيم.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *