tkinter经典面向对象写法

通过类Application组织整个GUI程序,类Application继承了Frame及通过继承拥有了父类的特性。
通过构造函数__init__()初始化窗口中的对象,通过createWidgets()方法创建窗口中的对象。

from tkinter import *
from tkinter import messagebox

class Application(Frame):
    def __init__(self,master=None):
        super().__init__(master)
        self.master = master
        self.pack()

        self.createWidget()
    def createWidget(self):
        self.btn01 = Button(self)
        self.btn01["text"] = "点我"
        self.btn01.pack()
        self.btn01["command"] = self.btnCmd

    def btnCmd(self):
        messagebox.showinfo('标题','显示内容')


if __name__ == '__main__':
    root = Tk()
    root.geometry("400x100+200+300")
    root.title("www.ai8py.com")
    app = Application(master=root)

    root.mainloop()

Frame框架是一个tkinter组件,表示一个矩形的区域。
Frame一般作为容器使用,可以放置其他组件,从而实现复杂的布局。

发表评论

邮箱地址不会被公开。 必填项已用*标注