pyinstaller+tkinter打包

py文件打包主要是使用

pyinstaller -F -w -p (vene文件夹下的lib/site-packages) -i (py同级文件下的ico文件)  py文件

-F:主要是生成单个文件

-w: 主要是打包后,点击exe不弹出命令窗口(时常会报缺少module,所以要将本地环境变量也打包进去,就要用到-p),不是必要命令。不加这个时候默认-c,弹出命令窗口。

-p: 将本地环境变量打包进来。需要主要的是需要将准确完整的路径输入进来,可以找到site-packages直接copy_path。

-i:打包后生成exe文件图标,需要主要的是必须是ico文件。我使用的是ICO图标在线转换_ICO图标制作工具_PNG在线转ICO - ICO吧

                可以在线转ico,还是很方便。下面会讲,tkinter的内置图标。

tkinter:主要是做弹窗使用

# -*- coding:utf-8 -*-
import tkinter as tk

root_window =tk.Tk()
# 设置窗口title
root_window.title('弹窗左上角标题')
# 设置窗口大小:宽x高,注,此处不能为 "*",必须使用 "x"
root_window.geometry('400x400')
# root_window.iconphoto(True, tk.PhotoImage(file='logo1.png'))
# 设置主窗口的背景颜色,颜色值可以是英文单词,或者颜色值的16进制数,除此之外还可以使用Tk内置的颜色常量
root_window["background"] = "#F5F5F5"
# 添加文本内,设置字体的前景色和背景色,和字体类型、大小
text=tk.Label(root_window, text='需要展示的数据', anchor="w", justify="left")
# 将文本内容放置在主窗口内
# text.pack(fill='both',expand='yes')
text.pack()
# 添加按钮,以及按钮的文本,并通过command 参数设置关闭窗口的功能
button=tk.Button(root_window,text="知道了",command=root_window.quit)
# 将按钮放置在主窗口内
button.pack(side="bottom")
#进入主循环,显示主窗口
root_window.mainloop()

这其中代码也不用去讲,稍懂一点py的都看的懂

anchor="w", justify="left"这一行主要是将label这里面的文字居左对齐,我觉得还是有必要的。

如果需要居中的话,删除就可以了,默认居中。

*如果需要打包后直接将exe能使用的话,建议不加图标,或者可以使用他默认内置图标。因为打包后,将其移动到其他位置,点击exe会报错。上面说的-i,生成exe后需要将exe文本先移动到ico同一级后,让他自动找到ico图标文件,之后只要将exe发送其他人即可,无需压缩增加其他文件。

下面说说tkinter三种内置图标的方法和其中区别。

  1. iconbitmap 设置窗口图标
  2. tk.call 设置窗口图标
  3. iconphoto 设置窗口图标

一、iconbitmap 设置窗口图标

iconbitmap() 将窗口图标设置为 bitmap。

它的参数必须传入一个ico类型位图,不能为 png 或 jpg 等其他类型,否则图像就会显示失败。

import tkinter as tk

window = tk.Tk()
window.title('左上角标题名')  # 更改标题名字
window.geometry('327x272')  
window.iconbitmap('logo1.ico')   # 更改窗口图标
window.mainloop()

 ICO图标在线转换_ICO图标制作工具_PNG在线转ICO - ICO吧

可以点击上面链接去在线转换ico文件

二、iconphoto 设置窗口图标

通过调用iconphoto()方法,我们可以实现将png格式的图像设置为窗口图标。

import tkinter as tk

window = tk.Tk()
window.title('标题')  # 更改标题名字
window.geometry('327x272')  
window.iconphoto(False, tk.PhotoImage(file='logo.png'))
window.mainloop()

在这里,第一参数False 表示该图标图像仅适用于该特定窗口,而不适用于将来创建的 toplevels 窗口;如果设置为True ,则图标图像也将应用于以后创建的所有 toplevels 图像。

三、tk.call 设置窗口图标

tk.call() 方法是 tkinter 到 tcl 解释器的接口,我们可以用 call 方法运行 tcl 命令。

我们需要将图像设置为 tk.PhotoImage 而不是图像本身,否则会出现 tkinter.TclError 错误。

核心就是前面参数不变,将最后的file= 后面的字符串更改为自己想要替换的png类型图片就好。

import tkinter as tk

window = tk.Tk()
window.title('标题')  # 更改标题名字
window.geometry('327x272')  
window.tk.call('wm', 'iconphoto', window._w, tk.PhotoImage(file='logo1.png'))  
# 更改窗口图标
window.mainloop()

tkinter设置窗口图标的三种方式

  1. iconbitmap() 只能是ico类型
  2. iconphoto() 支持png,不支持jpg(其他没测试)
  3. tk.call() 支持png,不支持jpg(其他没测试)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值