我有此代码:
from tkinter import *
import keyboard
#console
if keyboard.is_pressed('c'):
console=Tk()
console.geometry("500x425")
console.title("Devoloper Console")
console.resizable(True,True)
console.configure(bg='gray95')
基本上,我正在尝试使用键盘模块检测何时按下键盘上的 C ,然后在按下 C 时打开Tkinter窗口。 / p>
上面的代码不起作用(显然),我也不知道为什么。但是,我确实知道问题在于它没有检测到按键,也不是窗口有问题。
答案 0 :(得分:0)
您需要连续循环才能检查何时按下c
。
from tkinter import *
import keyboard
x = True
while x:
if keyboard.is_pressed('c'):
x = False
console=Tk()
console.geometry("500x425")
console.title("Devoloper Console")
console.resizable(True,True)
console.configure(bg='gray95')
console.mainloop()
答案 1 :(得分:0)
import tkinter as tk
import keyboard
while (not keyboard.is_pressed("c")):
pass
root = tk.Tk()
root.bind("<c>", lambda e: tk.Toplevel())
root.mainloop()
这是您想要的吗?
答案 2 :(得分:0)
模块keyboard
具有一个名为wait
的功能。它等待按键被按下。您必须使用它。对于tkinter窗口,也请使用mainloop
以使其正常运行。
import tkinter as tk
import keyboard
keyboard.wait("c") #< It'll wait for c to be pressed
console = tk.Tk()
console.geometry("500x425")
console.title("Devoloper Console")
console.resizable(True,True)
console.configure(bg='gray95')
...