在 tkinter 中为 'windows' 按钮添加事件?
Add event for 'windows' button in tkinter?
我的代码:
from tkinter import*
root = Tk()
root.geometry("500x500")
def moti(event):
root.destroy()
root.bind("<Window>",moti)
root.mainloop()
我要绑定这个key
那么,如何在windows中绑定这个键呢?谢谢!
从一个实际例子中,我发现 windows 键被称为 <Win_L>
(左键) <Win_R>
右键),你可以找到使用此代码自行解决:
import tkinter as tk
root = tk.Tk()
def event(e):
print(e.keysym)
root.bind('<Key>',event)
root.mainloop()
一旦 window 获得焦点并按下它,这将打印按键名称。
所以 TL;DR:windows 键的键名是 <Win_L>
。另请阅读 keysyms manual page - Tk-built-in-commands
w.bind('<Win_L>',callback)
注意: 在 Windows 系统上您可以使用 <Win_L>
,在 ubuntu 系统上它将是 <Super_L>
.所以一个安全的方法是:
from tkinter import *
root = Tk()
def event(e):
print(f'You just clicked: {e.keysym}')
try:
root.bind('<Win_L>',event)
except TclError:
root.bind('<Super_L>',event)
root.mainloop()
我的代码:
from tkinter import*
root = Tk()
root.geometry("500x500")
def moti(event):
root.destroy()
root.bind("<Window>",moti)
root.mainloop()
我要绑定这个key
那么,如何在windows中绑定这个键呢?谢谢!
从一个实际例子中,我发现 windows 键被称为 <Win_L>
(左键) <Win_R>
右键),你可以找到使用此代码自行解决:
import tkinter as tk
root = tk.Tk()
def event(e):
print(e.keysym)
root.bind('<Key>',event)
root.mainloop()
一旦 window 获得焦点并按下它,这将打印按键名称。
所以 TL;DR:windows 键的键名是 <Win_L>
。另请阅读 keysyms manual page - Tk-built-in-commands
w.bind('<Win_L>',callback)
注意: 在 Windows 系统上您可以使用 <Win_L>
,在 ubuntu 系统上它将是 <Super_L>
.所以一个安全的方法是:
from tkinter import *
root = Tk()
def event(e):
print(f'You just clicked: {e.keysym}')
try:
root.bind('<Win_L>',event)
except TclError:
root.bind('<Super_L>',event)
root.mainloop()