2013-05-04 16 views
5

Tkinter menü etiketleri (komutları) için kısayollar düşünüyorum. Mac'lerde cmd combination kombinasyonu yaygındır.Tkinter Mac uyumlu menü kısayolları (cmd + tuşu) nasıl edinilir

Bugüne kadar yalnızca self.bind_all("<Control-q>", self.quit) bulduk. Cmd ⌘ kısayolları nasıl uygulanır?

Sonra tekrar, düşünmeye - Uygulamanın bittiğinde - cmd ⌘ kullanırken Windows ve Mac uygulama için yürütülebilir dosyasına çevirme zorluklara neden olabilir? Bu sorunla uğraşmanın en iyi yolu nedir? belki Mod1 yerine Control -

cevap

4

Sana Tk Built-in Commands listelenen Meta ve M Modifikörleri biri belirtmek gerekir düşünüyorum. Ayrıca keysyms recognized by Tk'un faydalı listesini de bulabilirsiniz.

bunu yapmaya çalıştım asla aslında her etsem de - her şeyin başarısız olursa - Eğer '<Any-KeyPress>' olaylara birleştirmiş, kendi olay işleyicisi işlevini def handlerName(event): yazarak bilmeniz gerekenler belirlemek mümkün olabilir ve vb event.keycode, event.keysym, event.keysym_num gibi - - ve böylece üzerinde ⌘ tuşlu değiştirilmiş tuş vuruşlarını tespit etmek için kullanmak ne olduğunu görmek için izin, sonra işlevinde olay argümanının özelliklerin print değerleri denir ne zaman geçirilen Mac'in.

Son olarak, Python açık kaynak, bu nedenle her zaman okumayı deneyebilirsiniz.

Güncelleme: Bu answer kodundan itibaren Command- çalışır gibi geliyor.