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

问题描述 投票:-2回答:1

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

Switch between two frames in tkinter

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

python python-3.x tkinter
1个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.