python - tkinter 用地方互相抬高窗户
问题描述
我想制作一个简单的应用程序,每当我按下按钮时都会切换窗口,该项目基于此答案,使用此代码效果很好,但是,当我尝试使用place
以及其他修改时。
该应用程序停止切换窗口,并在同一窗口中显示两个画布
该应用程序根本没有显示任何按钮,只是一个空白屏幕,这是代码。有没有人遇到过这样的事情!?
import tkinter as tk
import tkinter.ttk as ttk
class App(tk.Tk):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.container = tk.Frame(self)
self.container.pack(side="top", fill="both", expand=True)
self.container.grid_rowconfigure(0, weight=1)
self.container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F,name in zip([page1, page2],
["page1", "page2"]):
frame = F(parent=self.container, controller=self)
self.frames[name] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.pack_propagate(False)
self.show_frame("page1")
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class page1(tk.Frame):
def __init__(self, parent, controller):
super().__init__(parent)
self.controller = controller
f = tk.Frame(self)
f.place(in_=self, anchor='c', relx=.5, rely=.5)
C1=tk.LabelFrame(f,text=' TEST PAGE 1! ',font=('Arial',13,'bold'), bg="blue")
C1.place(relheight=.2, relwidth=.9)
C=tk.Frame(C1,height=60,width=40)
C.grid(row=0,column=0,columnspan=3)
button1=tk.Button(C,text="page2"
,command=lambda: controller.show_frame("page2"))
button1.place(width=400,height=70)
class page2(tk.Frame):
def __init__(self, parent, controller):
super().__init__(parent)
self.controller = controller
f = tk.Frame(self)
f.place(in_=self, anchor='c', relx=.5, rely=.5)
C1=tk.LabelFrame(f,text=' TEST PAGE 2! ',font=('Arial',13,'bold'), bg="blue")
C1.place(relheight=.2, relwidth=.9)
C=tk.Frame(C1,height=60,width=40)
C.grid(row=1,column=1,columnspan=3)
button1=tk.Button(C,text="page1"
,command=lambda: controller.show_frame("page1"))
button1.place(width=200,height=70)
if __name__ == "__main__":
app = App()
app.geometry("1200x720+0+0")
app.resizable(False, False)
app.mainloop()
解决方案
推荐阅读
- google-apps-script - App Scripts 用相同级别的新列表项替换 Google Doc 中的字符串,而不更改列表样式
- vba - Wscript.Shell Exec 中的“编码”一词确实会阻止 powershell 脚本运行。我能做些什么?
- python - 调用 export_png 时未反映散景图的更改(例如缩放)
- docker - 在无根 docker 中运行图像,图像未显示
- c++ - 文件创建失败,因为我无法添加名称
- vba - Excel 宏需要多次执行才能正常运行
- flutter - 颤振网;Riverpod Firebase 身份验证;热重启/重新加载 - 用户会话丢失?
- python - 如果找不到值,则在 Panda 中插入行
- delphi - Steema VCL - 试图旋转 TPolarSeries.Pointer.Picture
- docker - Docker默认fs大小?