2013-05-04 7 views
5

कैसे प्राप्त करें I Tkinter मेनू लेबल (आदेश) के लिए शॉर्टकट पर विचार कर रहा हूं। मैक पर cmd ⌘ के साथ संयोजन आम है।Tkinter Mac-friendly मेनू शॉर्टकट्स (cmd + key)

अब तक मुझे केवल self.bind_all("<Control-q>", self.quit) मिल गया है। Cmd ⌘ शॉर्टकट को कैसे कार्यान्वित करें?

फिर, इस बारे में सोचते हुए - एक बार ऐप समाप्त होने के बाद - इसे विंडोज़ के लिए निष्पादन योग्य फ़ाइल में अनुवाद करना और मैक एप्लिकेशन को cmd ⌘ का उपयोग करते समय कठिनाइयों का कारण बन सकता है? इस मुद्दे से निपटने का सबसे अच्छा तरीका क्या है?

उत्तर

4

मुझे लगता है कि आप मेटा और एमTk Built-in Commands में सूचीबद्ध संशोधक में से एक निर्दिष्ट करने की आवश्यकता होगी - Control शायद Mod1 बजाय। आपको keysyms recognized by Tk की यह सूची भी उपयोगी हो सकती है।

हालांकि मैं यह करने के लिए वास्तव में कभी हर कोशिश की है - अगर सब कुछ विफल हो - आप यह निर्धारित करने के लिए क्या आप '<Any-KeyPress>' घटनाओं के लिए यह बाँध, अपने स्वयं के ईवेंट हैंडलर समारोह def handlerName(event): लिख कर पता करने की जरूरत में सक्षम हो सकता है, और फिर, फ़ंक्शन print ईवेंट तर्क के गुणों के मान इसे पारित करते समय इसे पारित किया जा रहा है - जैसे कि event.keycode, event.keysym, event.keysym_num, आदि - जिससे आप यह देखने की अनुमति देते हैं कि ⌘-key संशोधित कीस्ट्रोक का पता लगाने के लिए क्या उपयोग करना है आपका मैक

आखिरकार, पायथन ओपन-सोर्स है, इसलिए आप इसे हमेशा पढ़ने का प्रयास कर सकते हैं।

अद्यतन: इस answer में कोड से यह लगता है कि Command- काम करेगा।