مكتبة تكينتر هي واحدة من المكتبات الأكثر شعبية وسهلة الاستخدام لإنشاء واجهة مستخدم رسومية في بيثون. ومع ذلك ، عند العمل مع تكينتر ، قد تنشأ بعض الصعوبات ، بما في ذلك إغلاق النافذة. في هذه المقالة ، سنلقي نظرة على بعض النصائح والأمثلة المفيدة التي ستسمح لك بإغلاق نافذة تكينتر دون مشاكل.
أولا وقبل كل شيء ، تجدر الإشارة إلى أن تكينتر ليس لديها وظيفة مدمجة لإغلاق نافذة. ومع ذلك ، يمكن القيام بذلك باستخدام طريقة التدمير (). تسمح لك هذه الطريقة بإغلاق النافذة وتحرير الموارد التي تشغلها. من أجل إغلاق النافذة عند النقر على زر "إغلاق" ، فمن الضروري لربط طريقة تدمير() مع الحدث ويم ديليتويندو.
يوضح المثال أدناه كيفية ربط طريقة التدمير () بحدث ويم ديليت ويندو:
- نافذة.بروتوكول ("ويم-ديليت-ويندو" ، إغلاق-ويندو)
- نافذة.مينلوب()
- في هذا المثال ، نقوم بإنشاء نافذة تكينتر وربط طريقة كلوسيويندو () مع الحدث ويم ديليتويندو. نتيجة لذلك ، عند النقر فوق الزر "إغلاق" ، سيتم إغلاق النافذة.
- كيفية إغلاق نافذة تكينتر في بايثون
- أدوات إدارة النوافذ الرئيسية في تكينتر
- طرق مفيدة لإغلاق نافذة تكينتر
- إغلاق النافذة بالنقر فوق الزر " إغلاق
- إغلاق النافذة باستخدام أحداث النظام
- أمثلة التعليمات البرمجية لإغلاق نافذة تكينتر
- مثال 1: استخدام طريقة التدمير( )
- مثال 2: استخدام طريقة الإقلاع عن التدخين ()
- مثال 3: استخدام الجزء العلوي.تدمير () طريقة
- كيفية تجنب الأخطاء عند إغلاق نافذة تكينتر
نصائح إضافية لإغلاق نافذة تكينتر بنجاح
سؤال وجواب
كيف يمكنني إغلاق نافذة في تكينتر?
كيفية إكمال البرنامج بشكل صحيح في تكينتر?
كيف يمكنني إغلاق النافذة عن طريق النقر على الصليب في تكينتر?
هل يمكنني إغلاق نافذة تكينتر من رمز البرنامج?
كيفية إغلاق نافذة تكينتر في بايثون
مكتبة تكينتر هي أداة قياسية لإنشاء واجهة مستخدم رسومية في بايثون. بعد إنشاء نافذة في تكينتر ، قد تحتاج إلى إغلاقه. في هذا القسم ، سنلقي نظرة على عدة طرق لإغلاق نافذة تكينتر في بايثون.
1. باستخدام طريقة ' تدمير ()`:
إن أبسط طريقة لإغلاق نافذة تكينتر هي استخدام طريقة ' تدمير ()'. تغلق هذه الطريقة النافذة وتصدر جميع الموارد المرتبطة.
"'بايثون
استيراد تكينتر كما تك
ديف كلوس_ويندو():
الجذر.تدمير()
الجذر = tk.Tk ()
# إضافة زر "إغلاق"
إغلاق زر = المعارف التقليدية.زر (الجذر ، النص= "إغلاق" ، الأمر = إغلاق النافذة)
إغلاق زر.حزمة()
الجذر.مينلوب()
"`
2. باستخدام طريقة ' إنهاء`) `أو` إنهاء ()':
لإغلاق نافذة تكينتر ، يمكنك أيضا استخدام أساليب 'إنهاء()` أو' إنهاء ()'. هذه الأساليب إنهاء حلقة الحدث تكينتر الرئيسية وإغلاق النافذة.
"'بايثون
استيراد تكينتر كما تك
ديف كلوس_ويندو():
الجذر.إنهاء()
الجذر = tk.Tk ()
# إضافة زر "إغلاق"
إغلاق زر = المعارف التقليدية.زر (الجذر ، النص= "إغلاق" ، الأمر = إغلاق النافذة)
إغلاق زر.حزمة()
الجذر.مينلوب()
"`
3. باستخدام طريقة ' سحب ()`:
إذا كنت بحاجة إلى" إخفاء "نافذة تكينتر ، ولكن ليس إغلاقه تماما ، يمكنك استخدام طريقة" سحب ()". При этом окно все еще будет существовать и может быть восстановлено с помощью метода `deiconify()`.
«`python
import tkinter as tk
def hide_window():
root.withdraw()
def show_window():
root.deiconify()
root = tk.Tk()
# Добавляем кнопки «Скрыть» и «Показать»
hide_button = tk.Button(root, text=»Скрыть», command=hide_window)
hide_button.pack()
show_button = tk.Button(root, text=»Показать», command=show_window)
- نافذة = tk.Tk()
زر = المعارف التقليدية.زر (نافذة ، نص= "انقر علي" ، الأمر = انقر)
- زر.حزمة()
نافذة.مينلوب()
حقل الإدخال هو عنصر واجهة مستخدم يستخدم لتلقي إدخال النص من المستخدم. يسمح لك بقراءة البيانات من الواجهة. يتم استخدام فئة الإدخال لإنشاء حقل إدخال. على سبيل المثال:
استيراد تكينتر كما تك
ديف شو_النص():
طباعة (دخول.الحصول على ())
نافذة = tk.Tk()
دخول = المعارف التقليدية.دخول (نافذة)
دخول.حزمة()
زر.حزمة()
نافذة.مينلوب()
هذا مجرد جزء صغير من الأدوات التي يوفرها تكينتر لإدارة النوافذ. باستخدام هذه الأدوات ، يمكنك إنشاء تطبيقات تفاعلية بواجهة مستخدم رائعة.
طرق مفيدة لإغلاق نافذة تكينتر
الجذر.مينلوب()
إغلاق النافذة بالنقر فوق الزر " إغلاق
من تكينتر استيراد مساجيبوكس
ديف كلوس_ويندو():
إذا صندوق الرسائل.أسكوكانسيل ("إغلاق", " هل تريد حقا لإغلاق النافذة?"):
الجذر.إنهاء()
الجذر = المعارف التقليدية()
# رمز إنشاء واجهة النافذة الخاصة بك
الجذر.بروتوكول ("ويم-ديليت-ويندو" ، إغلاق-ويندو)
الجذر.مينلوب()
في هذا المثال ، عند النقر فوق الزر" إغلاق " ، يفتح مربع حوار بسؤال حول تأكيد الإغلاق. إذا أكد المستخدم الإغلاق ، يتم إغلاق النافذة الرئيسية باستخدام طريقة إنهاء (). إذا ألغى المستخدم الإغلاق ، تظل النافذة مفتوحة.
وبالتالي ، يتيح لك استخدام طريقة إنهاء() وسمة البروتوكول () التحكم في عملية إغلاق النافذة بالنقر فوق الزر "إغلاق". هذه وظيفة مفيدة يمكن استخدامها في تطبيقات مختلفة.
إغلاق النافذة باستخدام أحداث النظام
في مكتبة تكينتر لبيثون ، فمن الممكن لإغلاق نافذة باستخدام أحداث النظام ، مثل الضغط على مفتاح خروج أو النقر على زر إغلاق في رأس النافذة. للقيام بذلك ، يمكنك استخدام الطريقة
بروتوكول_
وحدد الحدث المطلوب.
مثال:
استيراد تكينتر كما تك
مواطنه على_إغلاق():
# التعليمات البرمجية التي سيتم تنفيذها عندما
نافذة الجذر مغلقة.تدمير()
الجذر = المعارف التقليدية.المعارف التقليدية()
الجذر.العنوان ("نافذتي")
الجذر.بروتوكول ("ويم ديليتويندو" ، أونكلوسينغ)
الجذر.مينلوب()
في هذا المثال ، نقوم بإنشاء نافذة باستخدام
tk.Tk ()
وتعيين عنوان النافذة باستخدام الطريقة
العنوان
. ثم نستخدم
طريقة البروتوكول
مع الحجج
"ويم ديليت ويندو"
و وظيفة
على_إغلاق
لتحديد حدث إغلاق النافذة. وظيفة
على_إغلاق
سيتم استدعاؤه عند إغلاق النافذة ويحتوي على الرمز الذي يجب تنفيذه عند إغلاق النافذة.
لاحظ أن هذا المثال يستخدم
طريقة التدمير
- لإغلاق النافذة. تزيل هذه الطريقة جميع أدوات النوافذ وتوقف تشغيلها.
- وبالتالي ، باستخدام الطريقة
- بروتوكول_
- وتحديد الحدث المطلوب ، يمكنك التحكم في إغلاق النافذة في مكتبة تكينتر. يمكن أن يكون هذا مفيدا لتنفيذ إجراءات معينة قبل إغلاق النافذة أو لمنعها من الإغلاق في بعض الحالات.
| أمثلة التعليمات البرمجية لإغلاق نافذة تكينتر |
|---|
| ديف كلوس_ويندو(): |
نافذة.إنهاء()
نافذة = tk.Tk ()
زر = المعارف التقليدية.زر (نافذة ، نص= "إغلاق نافذة" ، أمر = إغلاق نافذة)
زر.حزمة()
نافذة.مينلوب()
في هذا المثال ، يتم إنشاء نافذة مع زر" إغلاق النافذة". عند النقر فوق الزر ، يتم استدعاء وظيفة إغلاق النافذة () ، والتي تستدعي طريقة إنهاء () لإغلاق النافذة.
مثال 3: استخدام الجزء العلوي.تدمير () طريقة
في بعض الأحيان يمكن إنشاء نافذة تكينتر كنافذة طفل. В этом случае следует использовать метод top.destroy() для закрытия окна. Ниже приведен пример:
import tkinter as tk
def create_child_window():
child_window = tk.Toplevel(window)
button = tk.Button(child_window, text="Закрыть окно", command=child_window.destroy)
button.pack()
window = tk.Tk()
button = tk.Button(window, text="Создать дочернее окно", command=create_child_window)
button.pack()
window.mainloop()
في هذا المثال ، يتم إنشاء نافذة رئيسية تحتوي على زر" إنشاء نافذة فرعية". عند النقر فوق الزر ، يتم إنشاء نافذة فرعية باستخدام زر "إغلاق النافذة". عند النقر فوق هذا الزر ، يتم استدعاء طريقة التدمير () لإغلاق النافذة الفرعية.