• Python --- GUI编程(1)


    GUI(Graphics User Interface)图形化用户界面编程

    GUI编程类似于"搭积木",将一个个的组件放到窗口中,并给各 个组件赋予相应的事件绑定

    常用的GUI库

    1. Tkinter
      是python标准的GUI库,支持跨平台的GUI开发,Tkinter适合小型的GUI程序
    2. wxPython
      比较流行的GUI库适合大型的应用程序开发,功能强于Tkinter整体框架类似于MFC
    3. PyQT
      Qt是一个开源的额GUI库,适合大型的GUI程序开发,PyQT 是Qt工具包的Python实现,我们也可以使用Qt Desginter页面设计器快速开发GUI应用程序

    使用 tkinter 包开发第一个程序
    tkinter 包 (“Tk 接口”) 是针对 Tcl/Tk GUI 工具包的标准 Python 接口。 Tk 和 tkinter 在大多数 Unix 平台,包括 macOS,以及 Windows 系统上均可使用。
    导包

    from tkinter import *
    from tkinter import messagebox
    
    • 1
    • 2

    实例化窗口对象

    root = Tk()
    
    • 1

    设置窗口的大小和位置

    geometry(widthxheight+x+y) 距离左面和上面的距离,里面参数如果是widthxheight-x-y 就是距离屏幕右边和下面的距离,也可以混用 +x-y距离左下,-x+y距离右上的

    root.title("我的的第一个GUI程序")
    # 参数的格式为:widthxheight+x+y
    root.geometry("500x300+100+200")
    
    • 1
    • 2
    • 3

    添加按钮组件

    btn01 = Button(root)
    btn01["text"] = "按钮"
    # 布局管理器,按顺序添加组件
    btn01.pack()
    
    • 1
    • 2
    • 3
    • 4

    绑定事件对象

    def songhua(e):   # e就是事件对象
        # 弹出框
        messagebox.showinfo("Message","按钮的相应事件")
        print('按钮被点击')
    
    # "" 鼠标左击
    btn01.bind("",songhua)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    显示窗口

    # 进入事件循环显示窗口,调用它才会看到窗口
    root.mainloop()
    
    • 1
    • 2

    效果图
    在这里插入图片描述

    相应事件

    在这里插入图片描述

    完整的源码

    from tkinter import *
    from tkinter import messagebox
    
    # 实例化一个窗口对象
    root = Tk()
    
    # 设置窗口的标题
    root.title("我的的第一个GUI程序")
    # 设置窗口的大小和位置
    # 参数的格式为:widthxheight+x+y
    root.geometry("500x300+100+200")
    
    btn01 = Button(root)
    btn01["text"] = "按钮"
    # 布局管理器,按顺序添加组件
    btn01.pack()
    
    
    def songhua(e):   # e就是事件对象
        # 弹出框
        messagebox.showinfo("Message","按钮的相应事件")
        print('按钮被点击')
    
    # "" 鼠标左击
    btn01.bind("",songhua)
    # 进入事件循环显示窗口,调用它才会看到窗口
    root.mainloop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
  • 相关阅读:
    科学计算三维可视化笔记(第六周 界面实战)
    stb_image使用说明
    计算机网络(43)
    [深度学习] 搭建行人重识别系统心得
    lua基础之io
    【Java面试】Cookie和Session的区别
    【python】python内置函数——dir()获取对象的属性和方法
    鲜花静态HTML网页作业作品 大学生鲜花网页设计制作成品 简单DIV CSS布局网站
    二十六、MySQL并发事务问题:脏读/不可重复读/幻读
    QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.4-空间音频手机侧和耳机侧接口设计时序图
  • 原文地址:https://blog.csdn.net/qq_52007481/article/details/126793561