首页 > 解决方案 > 使用 tkinter 键绑定功能而没有焦点

问题描述

我无法找到一种方法来run通过按下一个键来启动该功能而不将焦点放在 tkinter 窗口上,我还需要能够在它运行时通过再次按下该键来停止该功能

import time
import keyboard
from tkinter import *
import re

def run(debug=None,):
    while True:
        if keyboard.is_pressed('q'):
            return()
        else:        
            print(debug)
            print("2")
            print("4")
            print("6")
            print("8")
            
    
    


window = Tk()

window.title("pain")

window.geometry('350x200')
#widgets
label = Label(window, text="fuck off")
label.grid(column=0, row=0)

button = Button(window, text="Click Me")
button = Button(window, text="Click Me", command=run)
button.bind('<Enter>',run)
button.grid(column=1, row=0)
#other stuff
window.bind('q',run)


window.mainloop()  

我是编码新手,所以我不确定这是否可能

标签: pythontkinter

解决方案


如果 tkinter 应用程序具有键盘焦点,则 Tkinter 只能响应键盘事件。如果您需要代码在没有焦点时响应事件,则必须找到某种特定于平台的库。


推荐阅读