الانتقال إلى المحتوى الرئيسي

كيف يمكنني إغلاق نافذة في باي كيوت 5 باستخدام بايثون?

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

هناك عدة طرق لإغلاق النافذة. واحدة من أسهل الطرق هي استخدام الطريقة.إغلاق (). على سبيل المثال:

نافذة.عرض()

نافذة = كويدجيت()

  1. نافذة.سيتويندوتيتل ("نافذتي")
  2. نافذة.عرض()
  3. التطبيق.إكسيك()

نافذة.إخفاء()

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

تركيب باي كيو تي 5

إنشاء نافذة

إضافة زر "إغلاق"

نحن تصف وظيفة لإغلاق النافذة

  • توصيل الوظيفة بالزر

اختبار البرنامج

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

إنشاء نافذة

في باي كيوت 5 ، يتم استخدام فئة كمينويندو لإنشاء نافذة. توفر هذه الفئة المكونات الأساسية لإنشاء وإدارة نافذة التطبيق.

للعمل مع باي كيوت 5 ، يجب عليك أولا تثبيت المكتبة. يمكن القيام بذلك باستخدام مثبت النقطة عن طريق تشغيل الأمر:

بيب تثبيت باي كيو تي 5

بعد تثبيت المكتبة ، يمكنك البدء في إنشاء نافذة. يوجد أدناه مثال على الكود الذي ينشئ نافذة بسيطة باستخدام باي كيوت 5:

نظام الاستيراد

من باي كيو تي5.كيودجيتس استيراد تطبيق, كيومينويندو

مواطنه الرئيسية():

التطبيق = قبليكاتيون (سيس.أرغف)

نافذة = كمينويندو()

نافذة.سيتويندوتيتل ("نافذة المثال")

نافذة.عرض()

سيس.خروج (التطبيق.إكسيك _ ())

إذا _ _ اسم _ _ = =" _ _ الرئيسية__":

الرئيسية()

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

إضافة زر "إغلاق"

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

في ما يلي رمز مثال يضيف زر "إغلاق" ويربطه بطريقة" إغلاق () " ، التي تغلق النافذة الحالية:

نظام الاستيراد

من باي كيو تي5.كيودجيتس استيراد تطبيق ، كيومينويندو ، كيوبوشبوتون

فئة ميويندو (كمينويندو):

مواطنه _ _ الحرف الأول__(النفس):

سوبر ().__ الحرف الأول _ _ ()

النفس.سيتويندوتيتل ("نافذتي")

النفس.مجموعة الهندسة (300 ، 300 ، 300 ، 200)

النفس.زر = كبوشبوتون ("إغلاق" ، النفس)

النفس.زر.مجموعةهندسة (100 ، 100 ، 100 ، 50)

النفس.زر.الاتصال (الذات.إغلاق)

التطبيق = قبليكاتيون (سيس.أرغف)

نافذة = ميويندو()

نافذة.عرض()

سيس.خروج (التطبيق.إكسيك _ ())

في هذا المثال ، نقوم بإنشاء فئة "ميويندو" ، وهي فئة فرعية من"كمينويندو". في منشئ لها ، ونحن إنشاء زر" إغلاق "باستخدام فئة" كبوشبوتون "وربطه مع طريقة" إغلاق ()". ثم نقوم بإنشاء مثيل من فئة" كابليكاتيون "، وتظهر نافذة لدينا وبدء حلقة الحدث باستخدام " التطبيق.إكسيك _ ()".

عند النقر فوق الزر" إغلاق "، يتم استدعاء طريقة" إغلاق () " ، والتي تغلق النافذة الحالية وتنهي البرنامج.

نحن تصف وظيفة لإغلاق النافذة

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

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

مثال:

من باي كيو تي5.كيودجيتس استيراد قمينويندو ، قبليكاتيون ، قميساجيبوكس

فئة ميويندو (كمينويندو):

ديف كلوسيفنت (النفس ، الحدث):

رد = كمساجيبوكس.سؤال (النفس ، 'تأكيد',

"هل تريد حقا إغلاق النافذة?"،كمساجيبوكس.نعم |

QMessageBox.No, QMessageBox.No)

إذا رد = = كمساجيبوكس.نعم:

حدث.قبول()

آخر:

حدث.تجاهل()

التطبيق = التطبيق ([])

نافذة = ميويندو()

نافذة.عرض()

التطبيق.إكسيك _ ()

في هذا المثال ، يتم تعريف وظيفة كلوسيفنت (). يقوم بإنشاء مربع حوار كمساجيبوكس مع سؤال حول تأكيد أن النافذة مغلقة. إذا نقر المستخدم على الزر" نعم " ، فسيتم قبول حدث الحدث وإغلاق النافذة. إذا نقر المستخدم على الزر" لا " ، فسيتم تجاهل حدث الحدث وستظل النافذة مفتوحة.

توصيل الوظيفة بالزر

من أجل إغلاق النافذة عند النقر على زر في بايكت5 ، تحتاج إلى توصيل وظيفة لهذا الزر. يوجد أدناه نموذج رمز يوضح كيفية القيام بذلك:

الخطوة 1: إنشاء ملف اسمه main.py وفتحه في محرر التعليمات البرمجية.

الخطوة 2: استيراد الوحدات اللازمة:

من باي كيو تي5.كيودجيتس استيراد تطبيق ، كيومينويندو ، كيوبوشبوتون

نظام الاستيراد

الخطوة 3: قم بإنشاء فئة نافذة وحدد طريقة إغلاق النافذة لإغلاق النافذة:

فئة ميويندو (كمينويندو):

مواطنه _ _ الحرف الأول__(النفس):

سوبر ().__ الحرف الأول _ _ ()

النفس.إنيتوي()

ديف إنيتوي (الذات):

النفس.مجموعةهندسة (100 ، 100 ، 300 ، 200)

النفس.سيتويندوتيتل ('Закрытие окна')

زر = كبوشبوتون ('Закрыть' ، النفس)

  • زر.مجموعةهندسة (100 ، 100 ، 100 ، 30)
  • زر.الاتصال (الذات.إغلاق النافذة)
  • ديف كلوس_ويندو(النفس):

النفس.إغلاق()

4 4: q تطبيق Exec إكسيك _ () (:

إذا _ _ اسم _ _ = = ' _ _ الرئيسية__':

التطبيق = قبليكاتيون (سيس.أرغف)

نافذة = ميويندو()

نافذة.عرض()

سيس.خروج (التطبيق.إكسيك _ ())

عند الضغط على الزر ، يتم استدعاء طريقة إغلاق النافذة ، والتي تغلق النافذة.

سيقوم الرمز أعلاه بإنشاء نافذة بها زر" إغلاق " في المنتصف. سيؤدي النقر فوق هذا الزر إلى إغلاق النافذة.

اختبار البرنامج