我一直在python3中学习tkinter,发现很难在网上找到好的文档和答案.为了帮助其他人解决同样的问题,我决定发布一个简单问题的解决方案,似乎没有在线文档.
问题:创建一个类似向导的程序,向用户显示一系列窗口,用户可以在窗口之间单击下一步和后退按钮.
解决方案是:
>创建一个根窗口.
>创建与要呈现给用户的窗口一样多的帧.将所有帧附加到根窗口.
>使用所需的所有小部件填充每个框架.
>当已填充所有帧时,使用grid_forget()方法隐藏每个帧,但不隐藏第一帧以使其成为可见帧.框架上的所有子窗口小部件都将隐藏在框架中.
>当用户单击窗口上的“下一个”或“后退”按钮时,调用隐藏其他帧的子例程(使用grid_forget())并使所需的帧可见(使用grid()).
>如果希望程序结束,请对根窗口使用destroy – 方法.
因此,您将创建一个窗口并在其上显示不同的框架.
这是Python3中的示例实现.它有3个简单的窗口,每个窗口都有一个文本标签和两个按钮,可以在不同的窗口中导航.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Creates three "windows" that the user can navigate through using Back and Next - buttons.
import tkinter
import tkinter.ttk
def create_widgets_in_first_frame():
# Create the label for the frame
first_window_label = tkinter.ttk.Label(first_frame, tex