1、一个经典的面向程序写法模块
from tkinter import *
from tkinter import messagebox
class Appication(Frame):
"""
一个经典的 GUI 类的写法
"""
def __init__(self, master = None):
super().__init__(master)
self.master = master
self.pack()
self.CreateWidget()
def CreateWidget(self):
"""
用途:创建组件
"""
......
......
if __name__ == "__main__":
window = Tk()
window.geometry("500x200+200+200")
window.title('一个经典的GUI程序')
app = Appication(master = window)
window.mainloop()
2、按钮组件(Button)
def CreateWidget(self):
"""
用途:创建组件
具体内容:1. 创建按钮 button1、使之和文字 "登录" (文字位置在 E方向) 匹配、设置按钮的高度为 3、宽度为 6
并且对此按钮进行布局、然后再使其调用另一个函数 login
2. 创建图像按钮 button2 、使之和图片 “image\\xiaohan.gif” 匹配、并且对此按钮进行布局
"""
self.button1 = Button(self)
self.button1["text"] = "登录"
self.button1["width"] = 6
self.button1["height"] = 3
self.button1["anchor"] = E
self.button1["command"] = self.login
self.button1.pack()
3、图片组件(PhotoImage)及按钮禁用设置
def CreateWidget(self):
global photo
photo = PhotoImage(file = "image\\xiaohan.gif")
self.button2 = Button(self, image = photo, command = self.login)
self.button2.pack()
self.button2.config(state = "disabled")
4、用于 CreateWidget 函数的函数
def login(e):
messagebox.showinfo("学习系统", "登录成功!!!欢迎开始学习!!!")
5、源代码
from tkinter import *
from tkinter import messagebox
class Appication(Frame):
"""
一个经典的 GUI 类的写法
"""
def __init__(self, master = None):
super().__init__(master)
self.master = master
self.pack()
self.CreateWidget()
def CreateWidget(self):
"""
用途:创建组件
具体内容:1. 创建按钮 button1、使之和文字 "登录" (文字位置在 E方向) 匹配、设置按钮的高度为 3、宽度为 6
并且对此按钮进行布局、然后再使其调用另一个函数 login
2. 创建图像按钮 button2 、使之和图片 “image\\xiaohan.gif” 匹配、并且对此按钮进行布局
"""
self.button1 = Button(self)
self.button1["text"] = "登录"
self.button1["width"] = 6
self.button1["height"] = 3
self.button1["anchor"] = E
self.button1["command"] = self.login
self.button1.pack()
global photo
photo = PhotoImage(file = "image\\xiaohan.gif")
self.button2 = Button(self, image = photo, command = self.login)
self.button2.pack()
self.button2.config(state = "disabled")
def login(e):
messagebox.showinfo("学习系统", "登录成功!!!欢迎开始学习!!!")
if __name__ == "__main__":
window = Tk()
window.geometry("500x200+200+200")
window.title('一个经典的GUI程序')
app = Appication(master = window)
window.mainloop()