【发布时间】:2016-05-22 23:34:06
【问题描述】:
这是我的代码示例
import tkinter as tk
from tkinter import ttk
class gui_programming(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="left", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (StartPage, Page1):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
##number 1
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
c = tk.Canvas(self, bg="red", width=75, height=100)
c.place(x=0, y=0)
butt0 = ttk.Button(self, text="Next.", command=lambda:controller.show_frame(Page1))
controller.bind("1", lambda x: controller.show_frame(StartPage))
controller.bind("2", lambda x: controller.show_frame(Page1))
controller.bind("3", lambda x: controller.show_frame(Page2))
class Page1(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
lambda x: gui_programming().geometry("75x100+10+10")
c = tk.Canvas(self, bg="blue", width=300, height=200)
c.place(x=0, y=0)
app = gui_programming()
app.geometry("75x100+10+10")
app.mainloop()
那么,我应该如何将每个班级出现的窗口从 75x100 更改为其他内容,是否有调整窗口大小的命令?我希望能够为每个班级调整它的大小。
【问题讨论】:
-
最佳实践是使用
pack或grid而不是place。当你这样做时,窗口会自然地增长(或缩小)以适应它的所有内容,你不必担心调整任何东西的大小。然后,您可以通过更改内部画布的大小轻松控制框架的大小。
标签: python python-3.x tkinter tkinter-canvas