Python 3.4 -tkinter - 如何在具有多个框架的 window 上提升框架
Python 3.4 -tkinter - How to raise a frame on a window that has multiple frames
我正在尝试为程序制作一个小 GUI。我正在使用网格将一些帧放在根 window 中。我有 3 个框架:通常,框架 1 和框架 2 位于 row=0 column=0 (frame1) 和 row=0 column=1。默认情况下不显示第 3 帧。在 frame1 上我有两个按钮:我的想法是,通过按下按钮,通过保持 frame1 可见来在 frame2 和 frame 3 之间切换。这是我写的代码:
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()
现在,如果我单击 "press1" 或 "press2",则会调用相应的函数(我可以在终端上看到相应的输出 "hello" 和 "world"),所以他们正在工作,但它不会改变框架。我错过了什么?
您永远不会调用 frame3.grid(...)
,因此 frame3 永远不会可见。
我正在尝试为程序制作一个小 GUI。我正在使用网格将一些帧放在根 window 中。我有 3 个框架:通常,框架 1 和框架 2 位于 row=0 column=0 (frame1) 和 row=0 column=1。默认情况下不显示第 3 帧。在 frame1 上我有两个按钮:我的想法是,通过按下按钮,通过保持 frame1 可见来在 frame2 和 frame 3 之间切换。这是我写的代码:
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()
现在,如果我单击 "press1" 或 "press2",则会调用相应的函数(我可以在终端上看到相应的输出 "hello" 和 "world"),所以他们正在工作,但它不会改变框架。我错过了什么?
您永远不会调用 frame3.grid(...)
,因此 frame3 永远不会可见。