我试图建立一个程序,监听某些组合键,然后在Tkinter窗口中向用户显示信息。为此,我使用了类似这样的键盘记录器(本例简化了):
from pyHook import HookManager
from pythoncom import PumpMessages
import Tkinter as tk
def on_keyboard_event(event):
label.config(text=event.Key)
root.update()
return True
hm = HookManager()
hm.KeyDown = on_keyboard_event
hm.HookKeyboard()
root = tk.Tk()
label = tk.Label(root, text='Hello world')
label.pack()
PumpMessages()
正如预期的那样,窗口会弹出并向用户显示他们按了什么键。但是,我想通过与Tkinter窗口交互(例如按按钮)来集成显示其他消息的功能。但是,似乎我需要Tkinter的mainloop来完成这项工作,我不知道如何与PumpMessages()一起运行,因为它也会停止与mainloop()类似的代码。在
我试着跑步根.mainloop()在a根。后(),我试着重新创作根.mainloop是这样的:
^{pr2}$然后在PumpMessages之前运行它,但是这些解决方案都不起作用。你似乎也不能运行PumpMessages或根.mainloop虽然我可能做得不对。如果这在Tkinter中不可能实现,那么我是否可以使用另一个pythongui来实现呢?在
您不需要创建函数来使用
mainloop()
,所以只需将mainloop()
放在代码的底部。如果要延迟,请使用root.after(milliseconds, function)
另外,记得把
mainloop()
放在PumpMessages()
之前例如
希望我能帮忙!在
相关问题 更多 >
编程相关推荐