# 通过Application组织整个GUI程序,类Application继承了Frame
# 及通过继承拥有了父类的特性。通过构造函数__init__()初始化窗口中的对象,
# 通过createWidgets()方法创建窗口中的对象
# Frame是一个tkinter组件,表示一个矩形的区域
# Frame用于放置其他组件
'''
用面向对象的方式写GUI
'''
from tkinter import *
from tkinter import messagebox
class Application(Frame): # 继承Frame
'''对该类的作用进行说明'''
def __init__(self, master=None): # 创建构造函数,用于写明变量构造组件对象
# master初始是设置为空值
super().__init__(master) # 调用父类,这里相当于给了Frame
self.master = master # 这里的master相当于给自己的这个类
self.pack() # 布局管理器,进行放置
self.creatWidget() # 实现调用
def creatWidget(self): # 通过createWidgets()方法创建窗口中的对象
'''创建组件'''
self.btn01 = Button(self) # self为当前容器组件
self.btn01['text'] = 'give you floures'
self.btn01.pack()
self.btn01['command'] = self.songhua
# 创建一个退出按钮
self.btnQuit = Button(self, text='退出', command=root.destroy)
self.btnQuit.pack()
def songhua(self):
messagebox.showinfo("送花", "give you 99 floures")
if __name__ == '__main__':
root = Tk()
root.geometry('400x400+300+300')
root.title("面向对象方法的GUI")
APP = Application(master=root) # 创建实例化对象,master是参数
root.mainloop()
面向对象方法创建GUI
于 2022-11-02 09:57:18 首次发布