python3.4tkinter如何在具有多个帧的窗口上提升一个帧

2024-06-16 13:39:32 发布

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

我正在为一个程序做一个小图形用户界面。我使用网格在根窗口中放置一些框架。我有3个帧:通常,帧1和帧2位于row=0 column=0(frame1)和row=0 column=1。默认情况下不显示第3帧。在frame1上我有两个按钮:通过按下按钮,在frame2和frame3之间切换,保持frame1可见。下面是我写的代码:

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”),所以它们在工作,但不会改变框架。我错过了什么?在


Tags: text框架helloworldcolumnroot按钮frame