如何使用键盘事件在tkinter中切换帧

时间:2018-03-02 10:46:15

标签: python python-3.x tkinter

我一直在使用以下示例创建一个可以在不同帧之间切换的tkinter GUI。

Switch between two frames in tkinter

我想添加一个键盘快捷键来切换帧。例如,按键盘上的“1”切换到示例中的第一页。我不确定如何使用现有结构添加此新功能。我已经阅读了有关事件和绑定的effbot.org文档,但我很困惑他们的示例如何应用于这个特定情况。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

可以使用bind方法将键盘事件附加到调用show_frame等方法(假设它选择列表中的页面:"StartPage", "PageOne", "PageTwo"

def on_key_release(event):
    key_mapping = {'0':"StartPage", '1':"PageOne", '2':"PageTwo"}
    key_released = event.keysym
    if key_released in key_mapping:
        app.show_frame(key_mapping[key_released])


if __name__ == "__main__":
    app = SampleApp()
    app.bind('<KeyRelease>', on_key_release)
    app.mainloop()