2013-05-04 30 views
5

Tôi đang xem xét phím tắt cho nhãn menu Tkinter (lệnh). Trên máy Mac, sự kết hợp với cmd ⌘ là phổ biến.Cách nhận các phím tắt menu thân thiện với máy Mac (phím cmd +)

Cho đến nay tôi chỉ tìm thấy self.bind_all("<Control-q>", self.quit). Làm thế nào để thực hiện các phím tắt cmd?

Sau đó, một lần nữa, suy nghĩ về - sau khi ứng dụng kết thúc - dịch nó thành tệp thực thi cho Windows và ứng dụng Mac có thể gây khó khăn khi sử dụng cmd ⌘? Cách tốt nhất để giải quyết vấn đề này là gì?

Trả lời

4

Tôi nghĩ rằng bạn sẽ cần phải xác định một trong những Meta và M Modifiers niêm yết tại Tk Built-in Commands - có lẽ Mod1 thay vì Control. Bạn cũng có thể tìm thấy danh sách này keysyms recognized by Tk hữu ích.

Mặc dù tôi chưa bao giờ thực sự cố gắng làm điều đó - nếu thất bại - bạn có thể xác định những gì bạn cần biết bằng cách viết hàm xử lý sự kiện của riêng bạn def handlerName(event):, liên kết nó với sự kiện '<Any-KeyPress>' và sau đó, trong hàm print các giá trị của thuộc tính của đối số sự kiện được truyền khi nó được gọi - chẳng hạn như event.keycode, event.keysym, event.keysym_num, v.v. máy Mac của bạn.

Cuối cùng, Python là mã nguồn mở, vì vậy bạn luôn có thể thử đọc.

Cập nhật: Từ mã trong số answer có vẻ như số Command- này sẽ hoạt động.

Các vấn đề liên quan