Python GUI tkinter库 自学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、标签组件(Label)

# class Appication(Frame):
    def CreateWidget(self):
        """
        用途:创建组件
        具体内容:1. 创建标签 label1 使标签的文本和 "新年快乐!" 绑定
        		并且自定义标签的宽度为 10 高度为 2 背景色为 "red"  前景色为 "black"
                 2. 创建标签 label2 使标签的文本和 "元气满满!" 绑定
                并且自定义标签的宽度为 10 高度为 2 背景色为 "blue"  前景色为 "orange"
        """
        # 显示标签
        self.label1 = Label(self, text = "新年快乐!", width = 10, height = 2,
                            bg = "red", fg = "black")
        self.label1.pack()
        self.label2 = Label(self, text = "元气满满!", width = 10, height = 2,
                            bg = "blue", fg = "orange")
        self.label2.pack()

3、图片组件(PhotoImage)

# class Appication(Frame):
    def CreateWidget(self):
        """
        用途:创建组件
        具体内容:1. 声明全局变量 photo 、将 gif 格式的图片用 PhotoImage 方法传递给全局变量
                 2. 创建标签 label3 、将标签的 image 选项指向定义好的全局变量 photo
        """
        # 显示图像
        global photo
        photo = PhotoImage(file = "image\\xiaohan.gif")
        # 防止反义字符串概念混淆
        self.label3 = Label(self, image = photo)
        self.label3.pack()

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):
        """
        用途:创建组件
        """
        # 显示标签
        self.label1 = Label(self, text = "新年快乐!", width = 10, height = 2,
                            bg = "red", fg = "black")
        self.label1.pack()
        self.label2 = Label(self, text = "元气满满!", width = 10, height = 2,
                            bg = "blue", fg = "orange")
        self.label2.pack()

        # 显示图像
        global photo
        photo = PhotoImage(file = "image\\xiaohan.gif")
        # 防止反义字符串概念混淆
        self.label3 = Label(self, image = photo)
        self.label3.pack()

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

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

    window.mainloop()
    # 调用 mainloop 方法、启用窗口并进入事件循环
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是我来晚了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值