from tkinter
root = Tk()
second_root = Tk()
label_placeholder = Label(root, text='placeholder').grid(row=1, column=0)
second_label_placeholder = Label(second_root, text='placeholder').grid(row=1, column=0)
def saylol(event):
print('lol')
def sayrofl(event):
print('rofl')
root.bind_all('<Return>', saylol)
root.mainloop()
second_root.bind_all('<Control-Key-s>', sayrofl)
second_root.mainloop()
上面只是我想要完成的简化虚拟版本。我有一个函数创建了一个新的tkinter实例,我希望将一些特定的热键绑定到特定的函数。
现在,第一个绑定完全正常,问题是我似乎无法将热键绑定到辅助根窗口。
所以我想知道是否有办法绕过这个或者只是tkinter无法做到的事情?
感谢。
答案 0 :(得分:0)
您不应该有多个Tk
窗口。 Tkinter根本没有设计成以这种方式工作。 Tkinter设计为只有一个根窗口,并且在程序的生命周期内调用mainloop()
。如果你对tkinter如何运作有充分的理解,你可以违反这些限制,但很少有理由这样做。
如果您需要的不仅仅是根窗口,请创建Toplevel