我试图为程序制作一个小GUI。我使用网格将一些帧放在根窗口中。我有3帧:通常,帧1和帧2位于行= 0列= 0(帧1)和行= 0列= 1。默认情况下不显示第3帧。在frame1上我有两个按钮:通过按下按钮,可以通过保持frame1可见来在frame2和frame3之间切换。这是我写的代码:
from tkinter import *
def hello():
frame2.tkraise()
print('hello')
def world():
frame3.tkraise()
print('world')
root=Tk()
frame1=Frame(root)
frame2=Frame(root)
frame3=Frame(root)
frame1.grid(row=0,column=0,rowspan=2)
frame2.grid(row=0,column=1,rowspan=2)
tag1=Label(frame2,text='hello')
tag2=Label(frame3,text='world')
tag1.grid()
tag2.grid()
press1=Button(frame1,text='hello',command=hello)
press2=Button(frame1,text='world',command=world)
press1.grid(row=0)
press2.grid(row=1)
root.mainloop()
现在,如果我点击"按1"或"按2"相应的功能被调用(我可以在终端上看到相应的打印"你好"和#34;世界"),所以它们正在工作,但它不会改变帧。我错过了什么?
答案 0 :(得分:0)
你永远不会打电话给frame3.grid(...)
,所以第3帧永远不可见。