القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

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

وللمزيد من ذلك ، يمكنك تمديد التطبيق لتتبع الاجتماعات القادمة وتعيين التذكيرات. يمكنك أيضًا تقديم التعاون مع تقاويم المستخدمين الآخرين لتجنب تضارب المواعيد.

يبدأ كل شيء بالهيكل الأساسي لتطبيق تقويم واجهة المستخدم الرسومية.

وحدات التقويم و Tkinter و DateTime

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

يسمح لك Tkinter بإنشاء تطبيقات سطح المكتب. إنه يوفر مجموعة متنوعة من عناصر واجهة المستخدم والمكتبات المفيدة وكائنات قماشية ومحللات HTML / XML / PDF. لإنشاء تطبيق واجهة المستخدم الرسومية ، كل ما عليك فعله هو:

  1. قم باستيراد المكتبة.
  2. قم بإنشاء نافذة.
  3. إضافة الحاجيات إلى تلك النافذة.
  4. قم باستدعاء حلقة الحدث الرئيسي لأداء الإجراءات بناءً على تفاعل المستخدم.
instagram viewer

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

نقطة تثبيت tkinter

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

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

يمكنك العثور على الكود المصدري لتقويم واجهة المستخدم الرسومية باستخدام Python في هذا مستودع جيثب.

ابدأ باستيراد Tkinter و Calendar و DateTime. تحديد وظيفة ، طباعة التقويم. استخدم ال يحصل() على Spinbox (المحددة لاحقًا في الكود) لاستخراج الشهر والسنة التي اختارها المستخدم. قم بتمرير هذه القيم إلى وحدة التقويم للحصول على تقويم نصي منسق يمثل السنة والشهر المحددين. يمثل هذا النص شبكة أحادية المسافة بسيطة ، مع ترتيب الأيام بالأسابيع بدءًا من يوم الاثنين.

امسح أي بيانات موجودة من الشاشة. 1.0 يشير إلى بداية المجال ، و نهاية يشير إلى نهاية المجال. أخيرًا ، أدخل التقويم الذي تم إنشاؤه مسبقًا واعرضه على الشاشة.

من tkinter يستورد *
يستورد تقويم
من التاريخ والوقت يستورد تاريخ

defطباعة التقويم():
month = int (month_box.get ())
year = int (year_box.get ())
output_calendar = calendar.month (السنة ، الشهر)
Calendar_field.delete (1.0, 'نهاية')
calendar_field.insert ('نهاية'، output_calendar)

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

defإعادة ضبط():
Calendar_field.delete (1.0, 'نهاية')
month_var.set (current_month)
year_var.set (current_year)
month_box.config (textvariable = month_var)
year_box.config (textvariable = year_var)

حدد وظيفة ، أغلق لتدمير شاشة النافذة ، واخرج من البرنامج.

defيغلق():
guiWindow.destroy ()

قم بتهيئة مثيل Tkinter وعرض نافذة الجذر. عيّن العنوان والأبعاد بالبكسل ، وقم بتعطيل تغيير حجمه عن طريق الحفاظ على المعلمات كـ 0.

لو __name__ == "__رئيسي__":
guiWindow = Tk ()
guiWindow.title ("تقويم GUI")
هندسة guiWindow. ("500 × 550")
GuiWindow.resizable (0, 0)

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

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

 header_frame = الإطار (guiWindow)
entry_frame = الإطار (guiWindow)
result_frame = الإطار (guiWindow)
button_frame = الإطار (guiWindow)

header_frame.pack (توسيع =حقيقي، ملء ="كلاهما")
entry_frame.pack (توسيع =حقيقي، ملء ="كلاهما")
result_frame.pack (توسيع =حقيقي، ملء ="كلاهما")
button_frame.pack (توسيع =حقيقي، ملء ="كلاهما")

حدد ثلاث تسميات للرأس والشهر والسنة. عيّن النافذة الأصلية التي تريد وضعها فيها ، والنص الذي ستعرضه ، وأنماط الخط مع لون الخط. قم بتعبئة ووضع الملصقات في مكان مناسب. شريك IntVar () مع ال entry_frame لتعيين واستقبال بيانات عدد صحيح.

 header_label = التسمية (header_frame ، النص ="تقويم",
الخط = ("أريال", '45', 'عريض') ، fg ="# A020F0")

header_label.pack (توسيع =حقيقي، ملء ="كلاهما")

month_label = Label (entry_frame ، نص ="شهر:",
الخط = ("أريال", "20", "عريض") ، fg ="#000000")

year_label = التسمية (entry_frame ، النص ="سنة:",
الخط = ("أريال", "20", "عريض") ، fg ="#000000")

month_label.place (x =30، ص =0)
year_label.place (x =275، ص =0)
month_var = IntVar (entry_frame)
year_var = IntVar (entry_frame)

احصل على الشهر والسنة الحاليين وقم بتعيينها على متغير IntVar (). استخدم أداة Spinbox لتحديد نطاق من القيم للمستخدم. عيّن نطاق القيم التي سيحتويها Spinbox ، والعرض ، والقيمة الحالية التي يجب أن يحتفظ بها ، وأنماط الخط. ضع الصناديق بشكل مناسب.

 current_month = date.today (). month
current_year = date.today (). سنة
month_var.set (current_month)
year_var.set (current_year)

month_box = Spinbox (entry_frame ، from_ =1، ل =12العرض ="10",
textvariable = month_var ، font = ("أريال",'15'))

year_box = Spinbox (entry_frame ، from_ =0000، ل =3000العرض ="10",
textvariable = year_var ، font = ("أريال",'15'))

month_box.place (x =130، ص =5)
year_box.place (x =360، ص =5)

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

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

 calendar_field = النص (result_frame ، العرض =20الارتفاع =8,
الخط = ("ساعي", "18") ، الإغاثة = RIDGE ، عرض الحدود =2)

calendar_field.pack ()

display_button = زر (button_frame ، نص ="عرض"، bg ="# A020F0",
fg ="# E0FFFF"، الأمر = printCalendar ، font = ("أريال", '15'))

reset_button = زر (button_frame ، نص ="إعادة ضبط"، bg ="# A020F0",
fg ="# E0FFFF"، الأمر = إعادة التعيين ، الخط = ("أريال",'15'))

close_button = الزر (button_frame ، النص ="يغلق"، bg ="# A020F0",
fg ="# E0FFFF"، الأمر = إغلاق ، الخط = ("أريال",'15'))

display_button.place (x =55، ص =0)
reset_button.place (x =210، ص =0)
close_button.place (x =350، ص =0)

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

 guiWindow.mainloop ()

ضع كل التعليمات البرمجية معًا لترى تقويم واجهة المستخدم الرسومية قيد التنفيذ.

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

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

عند تحديد الشهر على 3 والسنة إلى 2000 ، يعرض البرنامج التقويم لشهر مارس 2000. عند الضغط على زر إغلاق ، يقوم البرنامج بتدمير النافذة وإيقاف تنفيذها.

خذ بعض مشاريع واجهة المستخدم الرسومية للمبتدئين باستخدام Python

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

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