在pythontkinter中,如何在按下按钮后清除窗口?

2024-06-28 19:53:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用pythontkinter为孩子们创建一个数学测验。在这个小测验中,我有三个不同的“页”根据说。测验结束时的起始页、测验页和分数页。在我的起始页中,我有三个不同的难题供用户选择。一旦点击了“简单”或“难”按钮,我如何从起始页清除窗口的元素,比如我的标签和按钮,这样我就可以开始测试了?在


Tags: 用户元素孩子数学标签按钮分数难题
3条回答

如果你把你所有的小部件放在一个框架里,在窗口里面,像这样:

root=Tk()
main=Frame(root)
main.pack()
widget=Button(main, text='whatever', command=dosomething)
widget.pack()
etc.

然后您可以这样清除屏幕:

^{pr2}$

或者在按钮中:

def clear():
    global main, root
    main.destroy()
    main=Frame(root)
    main.pack()
clearbtn=Button(main, text='clear', command=clear)
clearbtn.pack()

清除屏幕。 您也可以按照创建root(不推荐)的方式创建一个新窗口,或者创建一个toplevel实例,这对于创建多个但本质上是相同的更好。 您也可以使用grid_forget()

w=Label(root, text='whatever)
w.grid(options)
w.grid_forget()

将创建w,但将其从屏幕上删除,准备好用相同的选项重新打开。在

您可以使用选项卡式视图,并根据所选难度切换选项卡(请参阅tkinter笔记本https://docs.python.org/3.1/library/tkinter.ttk.html#notebook) 或者你可以在他们自己的窗口里进行他们选定难度的测验。在

我建议你使用不同的框架,可以相互推动。看看这个答案Switch between two frames in tkinter。在

相关问题 更多 >