#coding=utf-8
'''
使用面向对象创建典型的GUI
'''
from tkinter import *
from tkinter import messagebox
class Application(Frame):
def __init__(self,master): #重定义父类的构造方法
super().__init__(master) #显示的调用的父类的构造方法,才能调用父类的实例属性
self.master=master
self.pack()
self.createWidget()
def createWidget(self):
#因为创建按钮对象需要传入主窗口对象,这里的self就是当前类对象,当前类对象就是一个窗口对象
self.btn01=Button(self,text="登录",command=self.login)
self.btn01.pack()
#Button组件中使用图片
global photo
photo=PhotoImage(file="./imgs/start.gif")
self.btn02=Button(self,image=photo,command=self.login)
#disabled用来这个该按钮不可点击
#self.btn02.config({"state":"disabled"})
self.btn02.pack()
def login(self):
messagebox.showinfo("Mesaage", "登录成功")
if __name__=="__main__":
root=Tk() #创建应用程序主窗口对象
root.title("面向对象式的GUI")
root.geometry("500x300+300+250")
app = Application(root) #主窗口对象传递给类Application创建类对象
root.mainloop()
Button组件1.png
Button组件2.png