tkinter frame面向对象
时间: 2023-09-20 18:03:55 浏览: 91
Python + tkinter GUI 页面操作 + Mysql数据库 面向对象设计实现停车场管理系统
当使用Tkinter创建GUI应用时,通常会使用面向对象的方法来组织代码。其中,Frame类是Tkinter中重要的一个类,用于创建容器窗口来组织和布局其他小部件。
下面是一个简单的示例,展示了如何使用Tkinter和面向对象来创建一个带有Frame的GUI应用程序:
```python
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.frame = tk.Frame(self)
self.frame.pack()
self.button = tk.Button(self.frame, text="点击我", command=self.say_hello)
self.button.pack(side="left")
self.quit_button = tk.Button(self.frame, text="退出", command=self.master.destroy)
self.quit_button.pack(side="left")
def say_hello(self):
print("Hello, World!")
root = tk.Tk()
app = Application(master=root)
app.mainloop()
```
在这个例子中,我们定义了一个名为Application的类,继承自Tkinter的Frame类。在Application类的构造函数中,我们首先调用父类的构造函数,然后设置一些初始属性,并调用`create_widgets()`方法来创建GUI界面。
`create_widgets()`方法中,我们创建了一个新的Frame并将其打包(pack)到主窗口中。然后,我们在Frame中创建了两个Button小部件,并指定它们的文本和回调函数。最后,我们定义了一个`say_hello()`方法,在点击"点击我"按钮时会被调用。
最后,我们创建了一个Tkinter的主窗口,并将Application类的实例传入其中。然后,通过调用`mainloop()`方法来启动事件循环,使应用程序保持运行状态。
这只是一个简单的示例,你可以根据自己的需求在Frame中添加更多的小部件和功能。希望对你有所帮助!
阅读全文