飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2731|回复: 15

GUI(图形用户界面)之Tkinter实现

  [复制链接]
  • TA的每日心情

    前天 14:14
  • 签到天数: 295 天

    [LV.8]以坛为家I

    发表于 2022-11-6 14:10:24 | 显示全部楼层 |阅读模式
    本帖最后由 paypojie 于 2022-11-6 14:22 编辑

                                                     非常简单的GUI程序


    [Python] 纯文本查看 复制代码
    # 前言 想法与写法是不同的 先想后写(先想再写) 想法与写法是相反的  在想如何写代码的时候 应该先想如何写功能代码(变量名后面的代码部分)
    # 然后 再想如何起变量名 给变量起一个见名知意的名字 在写代码的时候 应该先写已经起好的变量名 然后写等于号 最后再写功能代码(变量名后面的代码部分) 
    
    # 使用python创建gui(用户图形界面)程序 第一步 先导入python自带的tkinter库 因为是自带的 所以不需要额外安装 直接使用就可以了 使用自带的非常方便
    # 下面被注释掉的三行代码创建了一最简单的图形用户界面程序 将这三行代码去掉注释 发现执行这三行代码后弹出一个矩形的GUI界面 这个界面非常简洁 与其说简洁 不如说简单 
    # 只有三个步骤是固定的步骤 也是必须要写的 分别是 1.导入tkinter模块 2.创建主窗口(也可以称做根窗口)3.使用mainloop()方法进入消息循环让主窗口一直处于显示状态
    
    # import tkinter 
    # t = tkinter.Tk()
    # t.mainloop()
    
    # 让我来回忆一下 创建一个最简单的Tkinter程序的四个部分 C语言网背下来的
    
    # 导入tkinter模块                                import tkinter 
    # 创建一个主窗口 也称为root窗口 (也称为根窗口)    root_window = tkinter.Tk()
    # 创建人机交互控件 并编写相应的事件响应函数         这一部分不是固定的 
    # 使用mainloop()方法显示主窗口                    root_window.mainloop()
    
    
    # 导入模块
    import tkinter
    
    # 创建一个主窗口 使用tkinter模块的TK()方法
    main_window = tkinter.Tk()
    
    # 更改左上角的icon图标 需要注意的是不能使用png svg格式的图标 需要使用格式为ico的图标 图片路径前请加r 要不然会报错
    main_window.iconbitmap(r"C:\Users\33943\Pictures\Camera Roll\python.ico") 
    
    # 给主窗口起一个名字 就叫做Python 这一行代码也可以不写 不写的话 主窗口的顶部就不会显示标题Python
    main_window.title('Python')
    
    # 设置主窗口的大小 使用geometry()方法 传入参数'宽x高'
    main_window.geometry('900x500')
    
    # 设置主窗口的背景颜色 颜色值可以是英文单词 也可以是十六进制数  我填的是十六进制数
    main_window['background'] = '#F0F0F0' # 背景颜色无变化 因为我用取色器取了主窗口的原始颜色
    
    # 将文本内容添加到主窗口 先定义一个变量保存文本的设置 参数分别是主窗口名 文本text 字体背景色 字体前景色 字体大小和字体类型 也可以不用传递这么多参数
    text = tkinter.Label(main_window,text="Hello World",bg="white",fg="black",font=('Times', 20,'bold','italic'))
    
    # 将文本内容放在主窗口内
    text.pack()
    
    # 将一个按钮添加到主窗口里面 先使用tkinter模块的Button()方法 参数依次填主窗口 按钮的文本内容 以及cmmmand参数设置关闭窗口的功能 再对按钮使用pack()方法
    button = tkinter.Button(main_window,text='关闭',command=quit)
    
    # 添加按钮和添加文本到主窗口的方法类似 只不过 这个pack()方法传入了参数 
    button.pack(side='bottom') # 不传递参数 按钮默认会在底部 我们传递参数 side='bottom' 让按钮位于底部
    
    # 对主窗口main_main_window使用mainloop()方法 如果不使用此方法 不会显示窗口 要让窗口持续显示 使用mainloop这个主方法 随即进入消息循环
    main_window.mainloop()
    
    # 在cmd下或者vscode下或者IDLE下 运行之后 如果把相应对应的cmd或者vscode或者IDLE 给关闭 那么GUI界面也随即关闭 
    # 因为依赖于python解释器 如果想要不依赖解释器 独立的在桌面运行 该怎么办呢 很简单 将xxx.py改名为xxx.pyw 就是将后缀名py改名pyw 然后双击 就可以显示GUI程序了
    # 或者在cmd中输入 pythonw.exe '绝对文件路径' 例如 pythonw "C:\Users\33943\测试.pyw" 这是我自己本地的pyw文件路径 发现显示GUI界面后 关闭cmd 照样能够运行
    
    参考链接 http://c.biancheng.net/tkinter/  https://www.cnblogs.com/shwee/p/9427975.html#B

    GUI(图形用户界面)之Tkinter实现
    https://www.52pojie.cn/thread-1708697-1-1.html
    (出处: 吾爱破解论坛)





    评分

    参与人数 1威望 +1 飘云币 +1 收起 理由
    zhczf + 1 + 1 热心分享 共同提升!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    昨天 08:53
  • 签到天数: 554 天

    [LV.9]以坛为家II

    发表于 2022-11-11 11:03:19 | 显示全部楼层
    學習了!希望大佬繼續分享!
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-1-29 11:22
  • 签到天数: 232 天

    [LV.7]常住居民III

    发表于 2022-11-9 09:01:52 | 显示全部楼层
    谢谢分享,支持
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情

    昨天 09:06
  • 签到天数: 571 天

    [LV.9]以坛为家II

    发表于 2022-11-7 22:00:32 | 显示全部楼层
    感谢楼主分享
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 441 天

    [LV.9]以坛为家II

    发表于 2022-11-7 06:23:13 | 显示全部楼层
    学习了,谢谢
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    难过
    3 天前
  • 签到天数: 527 天

    [LV.9]以坛为家II

    发表于 2022-11-7 09:16:29 | 显示全部楼层
    都是知识啊,多谢
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-19 23:28
  • 签到天数: 158 天

    [LV.7]常住居民III

    发表于 2022-11-6 15:34:03 | 显示全部楼层
    学习了,谢谢
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 2491 天

    [LV.Master]伴坛终老

    发表于 2022-11-6 15:07:29 | 显示全部楼层
    感谢楼主分享。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-5-24 09:58
  • 签到天数: 161 天

    [LV.7]常住居民III

    发表于 2022-11-6 15:39:32 | 显示全部楼层
    感谢楼主分享。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    前天 14:14
  • 签到天数: 295 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-11-6 17:06:33 | 显示全部楼层
    mypwjcy 发表于 2022-11-6 15:07
    感谢楼主分享。

    不用谢, ^_^
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    前天 14:14
  • 签到天数: 295 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-11-6 17:07:29 | 显示全部楼层
    bdhxzg 发表于 2022-11-6 15:39
    感谢楼主分享。

    不用谢 O(∩_∩)O哈哈~
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    前天 14:14
  • 签到天数: 295 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-11-6 17:12:27 | 显示全部楼层
    bdhxzg 发表于 2022-11-6 15:39
    感谢楼主分享。

    不用谢
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    前天 14:14
  • 签到天数: 295 天

    [LV.8]以坛为家I

     楼主| 发表于 2022-11-7 11:06:40 | 显示全部楼层

    不用谢 ^_^
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表