Python GUI tkinter库 自学3

GUI程序经典面向程序写法

  • 1、一个经典的面向程序写法模块
  • 2、按钮组件(Button)
  • 3、用于 CreateWidget 函数的函数
  • 4、源代码

1、一个经典的面向程序写法模块

from tkinter import *
from tkinter import messagebox
# 导入库文件

class Appication(Frame):
    """
    一个经典的 GUI 类的写法
    """
    # 定义类(Appication)、继承于 Frame 框架 (虚拟的矩形框架)
    def __init__(self, master = None):
        # 定义构造函数、并初始化父类为空
        super().__init__(master)
        # 通过 super() 调用父类、并将 master 传进去
        self.master = master
        # 令此类中的 master 等于传入的 window
        self.pack()
        # 布局此窗口

        self.CreateWidget()
        # 调用另一个函数 CreateWidget

    def CreateWidget(self):
        """
        用途:创建组件
        """
        ......
        ......
       

if __name__ == "__main__":
    window = Tk()
    # 创建主窗口
    window.geometry("500x200+200+200")
    window.title('一个经典的GUI程序')
    # 对窗口进行大小、位置及名字设置

    app = Appication(master = window)
    # 调用新创建的类、并进行初始化、将 master = window (主窗口)传递进去

    window.mainloop()
    # 调用 mainloop 方法、启用窗口并进入事件循环

2、按钮组件(Button)

# class Appication(Frame):
#     """
#     一个经典的 GUI 类的写法
#     """
    def CreateWidget(self):
        """
        用途:创建组件
        具体内容:1. 创建按钮 button1、使之和文字 "新年快乐!" 匹配
                并且对此按钮进行布局、然后再使其调用另一个函数 YuanQi
                 2. 创建按钮 button2、使之和文字 "退出" 匹配
                并且对此按钮进行布局、然后使其退出所以窗口
        """
        self.button1 = Button(self)
        self.button1["text"] = "新年快乐!"
        self.button1.pack()
        self.button1["command"] = self.YuanQi
        # 调用 YuanQi 函数

        # 创建一个退出按钮
        self.button2 = Button(self, text = "退出", command = window.destroy)
        self.button2.pack()

3、用于 CreateWidget 函数的函数

# class Appication(Frame):
#     """
#     一个经典的 GUI 类的写法
#     """
	def YuanQi(e):
	    # 定义事件函数
	    # e 是事件对象
	    messagebox.showinfo(message = "一年比一年更有元气哈!")
	    print("一年比一年更有元气哈!")

4、源代码

from tkinter import *
from tkinter import messagebox
# 导入库文件

class Appication(Frame):
    """
    一个经典的 GUI 类的写法
    """
    # 定义类(Appication)、继承于 Frame 框架 (虚拟的矩形框架)
    def __init__(self, master = None):
        # 定义构造函数、并初始化父类为空
        super().__init__(master)
        # 通过 super() 调用父类、并将 master 传进去
        self.master = master
        # 令此类中的 master 等于传入的 window
        self.pack()
        # 布局此窗口

        self.CreateWidget()
        # 调用另一个函数 CreateWidget

    def CreateWidget(self):
        """
        用途:创建组件
        具体内容:1. 创建按钮 button1、使之和文字 "新年快乐!" 匹配
                并且对此按钮进行布局、然后再使其调用另一个函数 YuanQi
                 2. 创建按钮 button2、使之和文字 "退出" 匹配
                并且对此按钮进行布局、然后使其退出所以窗口
        """
        self.button1 = Button(self)
        self.button1["text"] = "新年快乐!"
        self.button1.pack()
        self.button1["command"] = self.YuanQi
        # 调用 YuanQi 函数

        # 创建一个退出按钮
        self.button2 = Button(self, text = "退出", command = window.destroy)
        self.button2.pack()

    def YuanQi(e):
        # 定义事件函数
        # e 是事件对象
        messagebox.showinfo(message = "一年比一年更有元气哈!")
        print("一年比一年更有元气哈!")


if __name__ == "__main__":
    window = Tk()
    # 创建主窗口
    window.geometry("500x200+200+200")
    window.title('一个经典的GUI程序')
    # 对窗口进行大小、位置及名字设置

    app = Appication(master = window)
    # 调用新创建的类、并进行初始化、将 master = window (主窗口)传递进去

    window.mainloop()
    # 调用 mainloop 方法、启用窗口并进入事件循环

你可能感兴趣的:(Python,GUI,tkinter,库,gui,window,tkinter,类)