سؤال

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

keep_going = False
KeepGoingPrompt(keep_going)
if not keep_going:
    return

مجموعات المطالبة keep_going إلى True أو يتركها False. المشكلة هي ، يبدو أن الكود مستمر أثناء KeepGoingPrompt مفتوح. حاولت تخزين إشارة إلى prompt وإضافة حلقة مثل

while prompt:
    time.sleep(1)

لكن بيثون يتعثر في الحلقة ويتجمد. هل هناك طريقة افضل لفعله؟

شكرًا

هل كانت مفيدة؟

المحلول

يمكنك استخدام فئة TKMessageBox لإطفاء مربع حوار أسئلة هو وسيط ولن يعود حتى ينقر المستخدم على زر. نرى كتاب تينتر للتفاصيل.

نصائح أخرى

1) هل تقوم بتشغيل الكود الخاص بك داخل الخمول؟ قد يكون مسؤولاً عن إجراء الحوار غير الحظر بينما يجب أن يحظر حقًا.

2) إذا لم يساعد التشغيل خارج الخمول ، فابحث عن خيارات الحوار/الحوار التي تحدد ما إذا كان السلوك يحظر أو عدم الحظر

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top