2010-10-01 13 views
9

मेरे पास एक स्क्रिप्ट है जो एक संदेश के साथ विंडो खोलने के लिए टिंकर का उपयोग करती है। मैं कैसे सुनिश्चित कर सकता हूं कि यह ध्यान केंद्रित करता है ताकि उपयोगकर्ता इसे याद न करे और स्पष्ट रूप से विंडो को खारिज कर दे। कोड है:टिंकर विजेट को फोकस करें

root = Tk() 
to_read = "Stuff" 
w = Label(root, text=to_read) 
w.pack() 
root.mainloop() 

उत्तर

14

आप focus_force विधि का उपयोग कर सकते हैं। निम्नलिखित देखें:

लेकिन ध्यान दें प्रलेखन:

w.focus_force()

विजेट के लिए इनपुट फ़ोकस बाध्य करें। यह अपवित्र है। खिड़की प्रबंधक के लिए आपको ध्यान देने के लिए इंतजार करना बेहतर है। नीचे भी .grab_set_global() देखें।

अपडेट: इसे root पर काम करना चाहिए। उदाहरण के लिए, निम्न कोड चलाने का प्रयास करें। यह एक खिड़की बनाएगा और आप फोकस स्विच कर सकते हैं। 5 सेकंड के बाद, यह फोकस पकड़ने की कोशिश करेगा।

from Tkinter import * 

root = Tk() 
root.after(5000, lambda: root.focus_force()) 
root.mainloop() 
+0

आदेश ठीक है में यह करने के लिए किसी अन्य तरीके से पाया है, लेकिन जहां यह मेरी कोड में जाता है? ऐसा लगता है कि मेरा प्रारूप root.focus_force होगा, लेकिन यह एक विशेषता त्रुटि देता है। – Ali

+1

@Ali: मैंने आपकी टिप्पणी का उत्तर देने के लिए प्रश्न अपडेट किया। – ars

+0

ऐसा लगता है कि अब काम कर रहा है। मैंने बाद में समारोह छोड़ दिया। धन्यवाद। – Ali

1

क्या मेरे लिए काम किया था:

root.wm_attributes("-topmost", 1) 
root.focus_force() 

मैं इस और Win32 here

संबंधित मुद्दे