gpt4 book ai didi

python - 为什么框架不使用 tkinter tkraise 提升?

转载 作者:行者123 更新时间:2023-11-28 21:43:38 28 4
gpt4 key购买 nike

import tkinter as tk

LARGE_FONT=("Verdana",12)

class myClass(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)

container = tk.Frame(self)

container.pack(side="top",fill="both",expand=True)

container.grid_rowconfigure(0,weight=1)
container.grid_columnconfigure(0,weight=1)

self.frames = {}

frame = StartPage(container,self,"startPage","visit page 1","pageone")
frame2 = StartPage(container,self,"pageone","Go BAck","startPage")
self.frames["startPage"]=frame
self.frames["pageone"]=frame2

frame.grid(row=0,column=0,sticky="nsew")

self.show_frame("startPage")

def show_frame(self,cont):
print(cont)
print(self.frames)
print(self.frames[cont])
frame = self.frames[cont]
print(frame)
frame.tkraise()

def qf(param):
print(param)

class StartPage(tk.Frame):
def __init__(self,parent,controller,lableName,butonName,visitToPage):
tk.Frame.__init__(self,parent)
label = tk.Label(self,text=lableName,font=LARGE_FONT)
label.pack(pady=10,padx=10)
button1 = tk.Button(self,text =butonName,command=lambda: controller.show_frame(visitToPage))
button1.pack()



app = myClass()

app.mainloop()

我正在尝试使用一个类 StartPage 创建两个框架,所以我为 StartPage 提供了参数,因为第 1 帧是 "startPage""visit page 1","pageone" 对于 frame 2 是 "pageone","Go BAck" ,“起始页”,但是通过按下按钮,即使参数对函数 show_frame 正确,框架也不会切换。

最佳答案

它不起作用,因为您没有将 pageone 框架放在网格中。只需将此行放在 frame.grid 之后即可:

frame2.grid(row=0,column=0,sticky="nsew")

关于python - 为什么框架不使用 tkinter tkraise 提升?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918796/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com