好友
阅读权限30
听众
最后登录1970-1-1
|
甜萝
发表于 2022-11-6 13:53
本帖最后由 paypojie 于 2022-11-8 10:43 编辑
非常简单的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
运行截图
运行截图
本人学习所参考的网站链接 第一个网站是我目前主要看的 第二个网站还没看多少
http://c.biancheng.net/tkinter/ https://www.cnblogs.com/shwee/p/9427975.html#B
更新代码 增加了一些方法
[Python] 纯文本查看 复制代码 # 导入模块
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')
# 设置主窗口的背景颜色 颜色值可以是字符串形式的英文单词 也可以是字符串形式的十六进制数 我填的是十六进制数
# 两种方法修改主窗口背景色 第一种 主窗口['background'] = '颜色值' 主窗口.config(background='颜色值')
main_window['background'] = '#F0F0F0' # 背景颜色无变化 因为我用取色器取了主窗口的原始颜色
main_window.config(background='white') # 修改背景颜色 背景颜色发生改变 变成了白色
# 主窗口的resizable()方法 设置是否允许用户拉伸主窗口大小 当传入两个0或者F两个alse的时候 就不允许调整主窗口大小
# main_window.resizable(False,False) # 默认是允许用户调整主窗口大小的 注释掉这行代码 不让其执行
# 将文本内容添加到主窗口 先定义一个变量保存文本的设置 参数分别是主窗口名 文本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' 让按钮位于底部
# 获取电脑屏幕的尺寸 (电脑的大小) 并将此输出 对主窗口分别使用winfo_screenwidth()和winfo_screenheight()方法
print('电脑屏幕的大小为%sx%s' % (main_window.winfo_screenwidth(),main_window.winfo_screenheight()))
# 在获取窗口的大小之前 必须先刷新一下主窗口 假如不写这行代码 那么就会获取到一个错误的结果
main_window.update()
print('窗口的大小为%sx%s' % (main_window.winfo_width(),main_window.winfo_height()))
# 让窗口处于顶层 使用attributes()函数 传入一个字符串形式的参数和True 这行代码视乎没起到什么效果
main_window.attributes('-topmost',True)
# 设置窗口的透明度 同样用attributes()函数 传入一个字符串形式的参数和一个范围在0到1之间的数值 值越小越趋向于透明 值越大越趋向于不透明 0完全透明 1完全不透明
main_window.attributes('-alpha',0.9)
# 设置窗口的最大调整范围 与resize()方法会发生冲突
main_window.maxsize(1000,600)
# 设置窗口的最小调整范围
main_window.minsize(800,400)
# 对主窗口main_main_window使用mainloop()方法 如果不使用此方法 不会显示窗口 要让窗口持续显示 使用mainloop这个主方法 随即进入消息循环
main_window.mainloop()
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|