شريط التقدم Tkinter

Shryt Altqdm Tkinter



يمكنك تحديث العميل بحالة عملية مطولة باستخدام عنصر واجهة مستخدم شريط التقدم. الهدف من الأداة هو تزويد المستخدم بثقة بحدوث شيء ما. لديها طريقتين مختلفتين للتشغيل. عندما تكون في وضع التحديد ، تعرض الأداة مؤشرًا ينتقل في اتجاه محدد مسبقًا. يتم نقل عنصر واجهة المستخدم في حالة غير محددة للسماح للعميل بانطباع بأن شيئًا ما يحدث. تتأرجح الإشارة ذهابًا وإيابًا بين أطراف الأداة طوال هذا النمط. سيتم تناول استخدام أشرطة التقدم المحددة وغير المحددة في Python في هذا البرنامج التعليمي.

لنبدأ بتكوين مكتبة Tkinter في Python. بعد الإطلاق الناجح للمحطة ، جرب الاستعلام التالي لتكوين حزمة Tkinter. تأكد من تثبيت Python بالفعل قبل استخدام هذه التعليمات.

sudo apt تثبيت python3-tk







مثال 1

لنبدأ بمثالنا الأول من Python لاستخدام وحدة Tkinter لإنشاء شريط تقدم محدد في واجهة المستخدم الرسومية. وبالتالي ، أنشأنا ملف Python جديدًا باسم 'new.py' وأضفنا الكود التالي. بدأنا هذا الكود عن طريق استيراد جميع الكائنات الفرعية من مكتبة Tkinter في Python في السطر الأول. بعد ذلك ، قمنا باستيراد كائن فئة “ttk” من وحدة Tkinter في السطر الثاني من التعليمات البرمجية.



تم استدعاء مُنشئ الصنف Tk () وحفظ كائنه في المتغير 't'. تم الوصول إلى وظيفة 'title' باستخدام متغير الكائن 't' لإنشاء عنوان لواجهة المستخدم الرسومية. تم ضبط حجم نافذة واجهة المستخدم الرسومية Tkinter على '300 × 200' عبر وظيفة الهندسة (). سيتم إنشاء شريط التقدم بواسطة وظيفة يحددها المستخدم 'Pbar ()'. سنلقي نظرة على هذه الوظيفة في الجزء الأخير من هذه المقالة.



لقد أنشأنا متغيرًا 'p' في 8 العاشر سطر من كود Python هذا الذي يستخدم وظيفة Progressbar () عبر كائن فئة “ttk” لإنشاء شريط تقدم في شاشة واجهة المستخدم الرسومية. تم تمرير الكائن 't' إليه بينما تم ضبط اتجاهه على Horizontal ، وضبط طوله على 400 ، ويتم تحديد وضعه ، أي أنه سيتحرك في اتجاه معين فقط. تم ضبط حشوة المحور 'y' على 30 باستخدام وظيفة 'pack ()' لشريط التقدم هذا.





بعد ذلك ، قمنا بإنشاء زر جديد 'b' باستخدام وظيفة Button () وتمريره إلى الكائن 't' وبعض النصوص والأمر المراد تنفيذه بعد النقر فوق الزر ، أي وظيفة تسمى وظيفة 'Pbar'. ستعمل الدالة Pbar () على زيادة قيمة شريط التقدم 'p' بمقدار عشرة والعودة إلى المتغير 'b'. تم ضبط حشوة المحور 'y' للزر على '10' باستخدام وظيفة pack () ، ووظيفة mainloop () هنا لتكرار التنفيذ بالكامل.



بعد إكمال كود Python ، قمنا بحفظه ونفذناه على وحدة التحكم عبر استعلام 'python3' متبوعًا باسم الملف 'new.py':

$ python3 new.py

لقد أطلقت Tkinter GUI من Python بعنوان 'شريط التقدم' على شاشة وحدة التحكم الخاصة بنا. في الصورة التالية ، لا يوجد سوى شريط تقدم بدون معالجة. تحتاج إلى النقر فوق الزر أولاً.

بعد النقر على الزر 'انقر هنا!' ، تم عرض شريط التقدم الأزرق على النحو التالي:

بعد ثلاث نقرات متتالية ، تلقينا التقدم التالي بدون حركة:

بعد الوصول إلى نهاية شريط التقدم ، لا يمكننا المضي قدمًا ، أي تحديد شريط التقدم.

مثال 2

دعونا نلقي نظرة على إنشاء شريط تقدم غير محدد يمكن أن يتحرك للخلف وللأمام داخل منطقة التقدم باستخدام وحدة Tkinter GUI Python. لذلك ، بدأنا رمز Python هذا عن طريق استيراد وحدة Tkinter باسم 'tk' وكائن ttk من فئة 'ttk'. تم استبعاد الكائن tk للحصول على نتيجة الباني 'Tk ()' وحفظه في المتغير 't'.



تم استخدام المتغير 't' مع الوظيفة title () لإضافة عنوان واجهة المستخدم الرسومية جنبًا إلى جنب مع وظيفة geometry () لتحديد حجم نافذة واجهة المستخدم الرسومية المراد عرضها. تم استدعاء وظيفة الشبكة () باستخدام المتغير 't' لتنظيم واجهة المستخدم الرسومية بتنسيق جدولي.

بعد ذلك ، استخدمنا المتغير 'p' لإنشاء شريط تقدم عبر وظيفة Progressbar () لكائن فئة ttk بنفس المتغير 't' ، والاتجاه الأفقي ، وطول 300 ، والوضع غير المحدد. تم تنظيم شريط التقدم بطريقة جدولية عبر وظيفة 'الشبكة ()' التي تستخدم الحشو المحدد لمحور 'س' و 'ص'. لقد أنشأنا زرين ، 's' و 'e' ، لبدء حركة شريط التقدم وإنهائه وتحريكه ذهابًا وإيابًا.







تحدد المعلمة اللاصقة لوظيفة الشبكة () لكل من الأزرار الاتجاه ، أي الشرق والغرب. تم تعيين الأمرين ، 'بدء' و 'إيقاف' ، لكل من الأزرار في 9 العاشر و 11 العاشر خط. مع تنفيذ الدالة mainloop () ، اكتمل برنامجنا وأصبح جاهزًا للاستخدام بعد حفظه.





تم تنفيذ الإعدام بطريقة مماثلة.





$ python3 new.py

عند إطلاق واجهة المستخدم الرسومية ، تم تقديم الشاشة التالية:



بعد الضغط على زر 'انقر لبدء' ، بدأ شريط التقدم في التحرك للأمام.

بعد وصوله إلى النهاية يتحرك في الاتجاه المعاكس أي الغرب.

بمجرد الانتهاء من النقر على زر 'Tap to Stop' ، تم تعيين شريط التقدم في الموضع الأولي مرة أخرى.

استنتاج

أظهرت هذه المقالة استخدام شريط التقدم في Tkinter GUI. لقد استخدمنا ببساطة كائنات فئة Tkinter لاستدعاء عناصر واجهة مستخدم مختلفة لجعل Python GUI أكثر تفاعلية. لقد ناقشنا استخدام أشرطة تقدم محددة وغير محددة في أمثلةنا. نأمل أن تستمتع بتنفيذ هذه.