تطبيق To-Do هو مشروع كلاسيكي لأي مبرمج ناشئ. تعرف على كيفية بناء واحد باستخدام Python و Tkinter.

يتيح تطبيق To-Do ، الذي يشار إليه أحيانًا باسم مدير المهام ، للمستخدمين تنظيم وإدارة مهامهم بشكل أكثر فعالية. يمكنك إنشاء قائمة بالمهام اليومية أو الأسبوعية ، وتحديد المواعيد النهائية والتذكيرات ، وتحديد أولوياتها ، وتتبع التقدم المحرز ، ومشاركتها مع الآخرين.

يتيح لك تطبيق To-Do إدارة الوقت وزيادة الإنتاجية وتقليل التوتر. لذا ، كيف يمكنك بناء واحد في بايثون؟

وحدة Tkinter

يمكنك استخدام Tkinter لبناء تطبيق To-Do. يسمح لك Tkinter بإنشاء تطبيقات سطح المكتب. يقدم مجموعة متنوعة من الأدوات مثل الأزرار والتسميات ومربعات النص التي تسهل تطوير التطبيقات. تتضمن بعض التطبيقات التي يمكنك تطويرها باستخدام Tkinter ملف تطبيق القاموس, مشغل الموسيقى، أ أداة تحويل الوزن، وأ لعبة كلمة الخليط.

لتثبيت Tkinter ، افتح Terminal وقم بتشغيل:

نقطة تثبيت tkinter

كيفية إنشاء تطبيق مهام باستخدام بايثون

يمكنك العثور على الكود المصدري لتطبيق To-Do في هذا مستودع جيثب.

قم باستيراد وحدة Tkinter وتهيئة نافذة الجذر. باستخدام تهيئة() وظيفة ، تعيين لون الخلفية. قم أيضًا بتعيين عنوان النافذة وحجمها.

instagram viewer
من tkinter يستورد *
من tkinter.font يستورد الخط

الجذر = Tk ()
root.configure (الخلفية ="# A020f0")
الجذر. العنوان ("تطبيق قائمة المهام")
هندسة الجذر ("750 × 500")

تحديد نمط الخط وأداة الإطار. يعمل الإطار كحاوية وهو مسؤول عن ترتيب موضع الأدوات الأخرى. اضبط النافذة الأصلية التي تريد وضعها فيها وامنحها مساحة عمودية بمقدار 10.

تحديد عنصر واجهة مستخدم listbox. يعرض هذا المكون قائمة بالعناصر ليختارها المستخدم. عيّن النافذة الأصلية التي تريد وضعها فيها ، ونمط الخط ، والعرض ، والارتفاع ، ولون الخلفية ، وعرض الحد ، ولون الخط. أيضًا ، قم بتعيين سمك إبراز التركيز ولون الخلفية الذي يجب أن يكون عليه عند تحديده ومظهر الخط النشط كـ لا أحد.

نظّم القائمة بوضعها على الجانب الأيسر وإخبارها بملء أي مساحة إضافية في كلا الاتجاهين.

my_font = الخط (العائلة ="اريال"الحجم =22الوزن ="عريض")
my_frame = الإطار (الجذر)
my_frame.pack (pady =10)

my_list = Listbox (my_frame، font = my_font، width =40الارتفاع =7، bg ="# cf9fff"، bd =0، fg ="# 5c4033"، سمك التظليل =0، selectbackground ="# ff0000"، أكتيفستايل ="لا أحد")
my_list.pack (الجانب = اليسار ، ملء = كلاهما)

حدد شريط التمرير الذي سيعرضه البرنامج على الجانب الأيمن من الإطار ، وملء أي مساحة إضافية في كلا الاتجاهين. استخدم ال التكوين () طريقة لربط شريط التمرير بعنصر واجهة مستخدم listbox الذي حددته مسبقًا. عند تحديد قيمة ملف أمر yscroll مثل my_scrollbar.set يحصل على الموضع الحالي لشريط التمرير عند تفاعل المستخدم.

عند تعيين معلمة الأمر كـ my_list.yview، يتم ربط حركة شريط التمرير بوظائف الأعلى والأسفل. لذلك ، عندما يتفاعل المستخدم مع شريط التمرير ، تتغير طرق عرض مربع القائمة وفقًا لذلك.

my_scrollbar = شريط التمرير (my_frame)
my_scrollbar.pack (الجانب = اليمين ، ملء = كلاهما)
my_list.config (yscrollcommand = my_scrollbar.set)
my_scrollbar.config (الأمر = my_list.yview)

حدد عنصر واجهة مستخدم إدخال لقبول المهام كمدخلات من المستخدم. عيّن النافذة الأصلية التي تريد وضعها فيها ونمط الخط والعرض ولون الخلفية. قم بتنظيمه عن طريق إضافة حشوة مقدارها 20 في الاتجاه الرأسي.

حدد إطارًا لتنظيم الأزرار الخاصة بك. ضعها في نافذة الجذر وأعطها لون الخلفية. قم بتنظيم الإطار بحشوة 20 في الاتجاه الرأسي أيضًا.

my_entry = إدخال (الجذر ، الخط = ("اريال", 22) ، العرض =26، bg ="# cf9fff")
my_entry.pack (pady =20)

button_frame = الإطار (الجذر ، bg ="# a020f0")
button_frame.pack (pady =20)

تحديد وظيفة ، delete_item (). مرر ال مِرسَاة المعلمة إلى وظيفة الحذف لإزالة العنصر المحدد من القائمة.

defdelete_item():
my_list.delete (مرساة)

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

defاضافة عنصر():
my_list.insert (END، my_entry.get ())
my_entry.delete (0، نهاية)

تحديد وظيفة ، cross_off_item (). استخدم ال item_config () طريقة لتغيير لون الخط لمهمة العنصر المحدد في القائمة إلى لون باهت ، لقد شطبت العنصر. امسح التحديد الذي أجريته الآن من البداية إلى النهاية.

defcross_off_item():
my_list.itemconfig (my_list.curselection () ، fg ="#dedede")
my_list.selection_clear (0، نهاية)

تحديد وظيفة ، uncross_item (). على غرار الوظيفة المذكورة أعلاه ، قم بتغيير لون المهمة المحددة مرة أخرى إلى اللون الأصلي وامسح التحديد تمامًا.

defunross_item():
my_list.itemconfig (my_list.curselection () ، fg ="# 5c4033")
my_list.selection_clear (0، نهاية)

تحديد وظيفة ، delete_crossed (). حدد متغير عداد وقم بالتكرار حتى يصبح أقل من حجم القائمة. إذا كان لون خط العنصر باهتًا ، فاحذف هذا العنصر من القائمة. خلاف ذلك ، استمر في التكرار بزيادة متغير العداد.

defdelete_crossed():
العد = 0

بينما عدد لو my_list.itemcget (عدد ، "fg") == "#dedede":
my_list.delete (my_list.index (عدد))
آخر:
العد + = 1

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

delete_button = زر (button_frame ، نص ="حذف عنصر"، الأمر = delete_item ، bg ="# e7305b"، الخط = ("أريال", 12, "عريض"))
add_button = زر (button_frame ، نص ="اضافة عنصر"، الأمر = add_item ، bg ="# e7305b"، الخط = ("أريال", 12, "عريض"))
cross_off_button = زر (button_frame ، نص ="شطب عنصر"، الأمر = cross_off_item ، bg ="# e7305b"، الخط = ("أريال", 12, "عريض"))
uncross_button = زر (button_frame ، نص ="إلغاء عرض العنصر"، الأمر = uncross_item ، bg ="# e7305b"، الخط = ("أريال", 12, "عريض"))
delete_crossed_button = زر (button_frame ، نص ="حذف مسطر"، الأمر = delete_crossed ، bg ="# e7305b"، الخط = ("أريال",12, "عريض"))

قم بتنظيم الأزرار باستخدام مدير الشبكة في صف واحد وخمسة أعمدة. قم بتعيين مساحة 0 في الاتجاه الأفقي لتخصيص بعض التباعد بين الأزرار ،

delete_button.grid (row =0، العمود =0)
add_button.grid (row =0، العمود =1، بادكس =20)
cross_off_button.grid (صف =0، العمود =2)
uncross_button.grid (صف =0، العمود =3، بادكس =20)
delete_crossed_button.grid (row =0، العمود =4)

ال mainloop () تخبر الوظيفة Python بتشغيل حلقة حدث Tkinter والاستماع إلى الأحداث حتى تغلق النافذة.

root.mainloop ()

ضع كل الكود معًا ولا تفوت أي مهمة باستخدام تطبيق قائمة المهام الفعال هذا.

إخراج تطبيق المهام الواجبة باستخدام بايثون

عند تشغيل البرنامج أعلاه ، تظهر نافذة يمكنك من خلالها إدخال المهام التي تريد إكمالها. عند إضافة المهمة والضغط على ملف اضافة عنصر زر ، تتم إضافة المهمة إلى الشاشة.

عند تحديد أي من المهام باستخدام الماوس / لوحة المفاتيح والنقر فوق شطب البند الزر ، فإن المهمة المحددة تغير لونها وتصبح باهتة.

عند اختيار العنصر المتقاطع والنقر فوق Uncross البند ، يقوم البرنامج بتسليط الضوء على المهمة مرة أخرى إلى لونها الأصلي.

عند النقر فوق ملف حذف متقاطعة الزر ، يقوم البرنامج بحذف المهمة المشطوبة. عند تحديد أي عنصر والنقر فوق حذف العنصر الزر ، تتم إزالة العنصر المحدد.

التطبيقات التي يمكنك إنشاؤها باستخدام Python لزيادة إنتاجيتك

يمكنك إنشاء تطبيقات مثل RescueTime التي تتعقب مقدار الوقت الذي يقضيه المستخدم في التطبيق. يمكن أن تساعدك هذه التطبيقات في اكتشاف مواقع الويب التي تسبب لك أكبر قدر من الإلهاء. بصرف النظر عن هذا ، يمكنك أن تستلهم من Trello لإنشاء لوحات مع قوائم المهام والمواعيد النهائية والتذكيرات.

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