2013-06-21 6 views
5

मैं एक खिड़की के लिए नियंत्रण + 1 अनुक्रम बांधना चाहता हूं। widget.bind("<Control-1>", lambda event: someFunction(event)) बाइंड नियंत्रण + बाएं माउस पर क्लिक करें। यह मेरा कोड का स्निपेट है कि इस प्रयोग करेंगे:नियंत्रण + संख्या टिंकर बाध्यकारी

self.master.bind("<Control-1>", lambda event: self.allTypeButtons[1].invoke()) 
self.master.bind("<Control-2>", lambda event: self.allTypeButtons[2].invoke()) 
self.master.bind("<Control-3>", lambda event: self.allTypeButtons[3].invoke()) 
# self.allTypeButtons is a dictionary with Radiobuttons as its values 

मैं भी self.master.bind("<Control>-1", lambda event: self.allTypeButtons[1].invoke()) कोशिश की, लेकिन यह मेरे देता है: _tkinter.TclError: bad event type or keysym "Control"

इसके अलावा, self.master.bind("Control-1", lambda event: self.allTypeButtons[1].invoke()) और फिर दबाकर नियंत्रण + 1 घटना का आह्वान नहीं करता है।

मैं जानता हूँ कि widget.bind("1", lambda event: someFunction(event)) बांधता है कि , widget.bind("<1>", lambda event: someFunction(event)) बांधता वाम माउस क्लिक करें, और widget.bind("<Control-h>", lambda event: someFunction(event))नियंत्रण + ज बांधता है, लेकिन मैं नियंत्रण + 1 कैसे शामिल कर सकते हैं? अग्रिम में धन्यवाद।

उत्तर

6

घटना का नाम <Control-Key-1> है।

import Tkinter as tk 
def quit(event): 
    print("You pressed Control-Key-1") 
    root.quit() 

root = tk.Tk() 
root.bind('<Control-Key-1>', quit) 
root.mainloop() 

मैंने यहां partial table of event names पोस्ट किया है।

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