मैं पाइथन टिंकर प्रोग्राम में विंडो बंद ईवेंट (उपयोगकर्ता 'एक्स' बटन पर क्लिक करके) कैसे संभाल सकता हूं?मैं टिंकर में विंडो बंद घटना को कैसे संभाल सकता हूं?
उत्तर
टिंकर protocol handlers नामक एक तंत्र का समर्थन करता है। यहां, प्रोटोकॉल शब्द और विंडो प्रबंधक के बीच बातचीत को संदर्भित करता है। सबसे सामान्य रूप से प्रयुक्त प्रोटोकॉल को WM_DELETE_WINDOW
कहा जाता है, और इसका उपयोग यह निर्धारित करने के लिए किया जाता है कि जब उपयोगकर्ता विंडो प्रबंधक का उपयोग करके विंडो को स्पष्ट रूप से बंद कर देता है तो क्या होता है।
आप इस प्रोटोकॉल के लिए कोई हैंडलर स्थापित करने के लिए विधि का उपयोग कर सकते हैं (विजेट एक Tk
या Toplevel
विजेट होना चाहिए):
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
def on_closing():
if messagebox.askokcancel("Quit", "Do you want to quit?"):
root.destroy()
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
उपयोग:
यहाँ आप एक ठोस उदाहरण है CloseEvent
def closeEvent(self, event):
# code to be executed
इस उत्तर को और अधिक जानकारी की आवश्यकता है। यह लाइन कहां रखा गया है? मेरे अंत में थोड़ा झुकाव इसे काम करने के लिए प्रतीत नहीं कर सकता है। – thedayturns
मैट ने एक क्लासिक मॉड्यूफैटियो दिखाया है बंद बटन के एन।
दूसरी बात यह है कि बंद बटन विंडो को कम करें।
आप iconify विधि
protocol विधि का दूसरा तर्क होने के द्वारा इस व्यवहार को पुन: उत्पन्न कर सकते हैं। > बाहर निकलें, और भी Esc बटन -
क्लासिक फ़ाइल मेनू:
# Python 3
import tkinter
import tkinter.scrolledtext as scrolledtext
class GUI(object):
def __init__(self):
root = self.root = tkinter.Tk()
root.title('Test')
# make the top right close button minimize (iconify) the main window
root.protocol("WM_DELETE_WINDOW", root.iconify)
# make Esc exit the program
root.bind('<Escape>', lambda e: root.destroy())
# create a menu bar with an Exit command
menubar = tkinter.Menu(root)
filemenu = tkinter.Menu(menubar, tearoff=0)
filemenu.add_command(label="Exit", command=root.destroy)
menubar.add_cascade(label="File", menu=filemenu)
root.config(menu=menubar)
# create a Text widget with a Scrollbar attached
txt = scrolledtext.ScrolledText(root, undo=True)
txt['font'] = ('consolas', '12')
txt.pack(expand=True, fill='both')
gui = GUI()
gui.root.mainloop()
इस उदाहरण हम उपयोगकर्ता दो नए बाहर निकलने के विकल्प देने में:
यहाँ एक काम कर उदाहरण, विंडोज 7 पर परीक्षण किया है ।
- 1. मैं टिंकर में घटना को कैसे बढ़ा सकता हूं?
- 2. मैं सॉकेट.ओओ में बंद ईवेंट कैसे संभाल सकता हूं?
- 3. विंडो बंद करें घटना
- 4. मैं कैलिबर्न में लॉगिन/लॉगआउट कैसे संभाल सकता हूं। माइक्रो?
- 5. विंडो बंद घटना जावा
- 6. बटन दबाकर टिंकर विंडो को कैसे बंद करें?
- 7. मैं उल्का में महत्वपूर्ण घटनाओं को कैसे संभाल सकता हूं?
- 8. टिंकर विंडो
- 9. मैं गिट रेपो में छवियों को कैसे संभाल सकता हूं?
- 10. मैं रूबी में बड़ी फ़ाइलों को कैसे संभाल सकता हूं?
- 11. मैं इस पॉइंटर को getaddrinfo में कैसे संभाल सकता हूं?
- 12. मैं विंडोज़ फॉर्मों को कैसे संभाल सकता हूं datetimepicker ArgumentOutOfRangeException?
- 13. मैं टिंकर में डेट पिकर कैसे बना सकता हूं?
- 14. मैं टिंकर में चुप अपवाद कैसे कर सकता हूं?
- 15. मैं टिंकर में रूट विंडो का आकार कैसे बदल सकता हूं?
- 16. , मैं विंडो को वर्तमान विंडो कैसे बना सकता हूं?
- 17. मैं टिंकर विंडो से तुरंत पाइथन प्रक्रिया को कैसे रोकूं?
- 18. मैं HTTParty के साथ त्रुटियों को कैसे संभाल सकता हूं?
- 19. मैं टिंकर एप पर एकजुट कैसे हो सकता हूं?
- 20. मैं जावा में एकाधिक माउस इनपुट कैसे संभाल सकता हूं?
- 21. मैं एमवीसी 3 में सशर्त सत्यापन कैसे संभाल सकता हूं?
- 22. टिंकर विंडो आकार
- 23. मैं Erlang में SIGINT कैसे संभाल सकता हूं?
- 24. टिंकर
- 25. ब्राउज़र में पाइथन टिंकर विंडो को कैसे एम्बेड करें?
- 26. आईफ्रेम लोड करने में त्रुटियों को कैसे संभाल सकता हूं?
- 27. जावा - विंडो विंडो को बंद करने से मैं विंडो क्लोजिंग को कैसे रोकूं
- 28. DataGridView संभाल स्तंभ पुनर्व्यवस्था घटना
- 29. django-haystack ऑर्डरिंग - मैं इसे कैसे संभाल सकता हूं?
- 30. WPF: मैं ListBox आइटम पर क्लिक कैसे संभाल सकता हूं?
मैंने समान कोड का उपयोग किया लेकिन 'root.destroy()' – 182764125216
के साथ यदि आप ट्विस्ट की तरह कुछ उपयोग कर रहे हैं जो स्वतंत्र रूप से इवेंट लूप को बनाए रखता है या टिंकर (उदाहरण: ट्विस्टेड रिएक्टर ऑब्जेक्ट) सुनिश्चित करता है कि बाहरी मुख्य लूप को जो भी स्नेहीटिक्स से रोका जाता है यह उस उद्देश्य के लिए प्रदान करता है (उदाहरण: मोड़ के लिए reactor.stop()) –
विंडोज़ पर मेरे पायथन 2.7 पर, 'टिंकर' में एक सबमिशन संदेशबॉक्स नहीं था। मैंने 'tkMessageBox को संदेशबॉक्स के रूप में आयात किया' – IronManMark20