我正在使用Python制作一个小应用程序(用于个人使用/培训),但我无法理解tkinter的框架模块。到目前为止,我所做的只是尝试放置彩色方块以"映射"窗口视觉效果,但我已经遇到了问题。
- 我将我的“主”窗口框架设为绿色(600*400大小,可调整大小)
- 一个容器框架,颜色为黄色(600*400大小,应覆盖整个窗口,这样我们在调整窗口大小时才能看到来自主窗口的绿色背景)
- 一个蓝色的第三个框架,包含在黄色框架中(450*400大小)
import tkinter
class leftFrame(tkinter.Frame):
def __init__(self, parent):
self.frame = tkinter.Frame(parent, width=450, height=400, bg="blue")
self.parent = parent
self.initialize()
def initialize(self):
self.frame.grid()
#if I comment this previous line, the yellow frame will be printed
#pass
class mainFrame(tkinter.Frame):
def __init__(self, master=None):
self.frame = tkinter.Frame(master, width=600, height=400, bg="yellow")
self.master = master
self.initialize()
def initialize(self):
self.frame.grid()
self.left = leftFrame(self.frame)
root = tkinter.Tk()
root.geometry("600x400")
root.wm_title("Tkinter test")
root.configure(bg="green")
#root.resizable(False, False)
app = mainFrame(root)
root.mainloop()
我使用类来处理我的“布局对象”,因为这似乎是一种更清晰的方法,但由于我是新手并且对Python和面向对象编程不熟悉,所以很可能我在那里做错了什么。如果有人能解释一下为什么这段代码不起作用,那将是一个很大的帮助!谢谢;)