Python - ico文件转换器 - 图片格式转图标
本帖最后由 TZ425 于 2023-11-2 03:23 编辑软件功能:
当打包程序需要用到图标时,可以使用本程序将png、jpeg、jpg等图片格式转换
为ico图标格式。(不适合大文件转换....这个问题目前还在解决!)
以下是成品链接和源码:
ico图标转换器
import tkinter as tk
from tkinter import filedialog
from PIL import Image
from tkinter import messagebox
from tkinter import ttk
import os
# 创建窗口
window = tk.Tk()
window.title("ico转换器")
window.geometry("250x150")
# 创建Notebook小部件
notebook = ttk.Notebook(window)
notebook.pack(fill=tk.BOTH, expand=True)
# 第一页 - 选择文件页面
select_file_frame = tk.Frame(notebook)
notebook.add(select_file_frame, text="选择目标文件")
target_label = tk.Label(select_file_frame, text="目标文件:")
target_label.pack()
target_entry = tk.Entry(select_file_frame)
target_entry.pack()
def select_file():
filepath = filedialog.askopenfilename(filetypes=[("文件:", "*.jpg;*.jpeg;*.png;")])
target_entry.delete(0, tk.END)
target_entry.insert(0, filepath)
file_btn = tk.Button(select_file_frame, text="选择文件", command=select_file)
file_btn.pack()
# 第二页 - 选择路径页面
select_path_frame = tk.Frame(notebook)
notebook.add(select_path_frame, text="选择保存路径")
save_label = tk.Label(select_path_frame, text="保存到:")
save_label.pack()
save_entry = tk.Entry(select_path_frame)
save_entry.pack()
def select_path():
path = filedialog.askdirectory()
save_entry.delete(0, tk.END)
save_entry.insert(0, path)
path_btn = tk.Button(select_path_frame, text="选择路径", command=select_path)
path_btn.pack()
# 定义图片转换为ICO函数
def convert_to_ico():
target_file = target_entry.get()
save_path = save_entry.get()
try:
img = Image.open(target_file)
filename = os.path.splitext(os.path.basename(target_file))
img.save(save_path + "/" + filename + ".ico", format="ICO")
messagebox.showinfo("转换完成", "图片已成功转换为ICO文件!")
except Exception as e:
messagebox.showerror("转换失败,文件不正确或者路径不正确", str(e))
# 创建转换按钮
convert_btn = tk.Button(window, text="开始转换", command=convert_to_ico)
convert_btn.pack()
# 运行窗口
window.mainloop() Kls673M 发表于 2023-11-2 08:51
感谢分享,如果需要自定义图标不是应该在打包时就设定好吗?
是的,这是打包时添加图标的语法:pyinstaller -F -w -i 图标.ico python文件.py
不添加图标:pyinstaller -F -w python文件.py Python办公自动化 感谢分享,如果需要自定义图标不是应该在打包时就设定好吗? 谢谢分享,又认识了窗口库与函数,还有转换图片的方法,很实用,很受用 感谢大佬分享 谢谢 感谢分享,留个标,学习一下
感谢分享,留个标,学习一下 Python办公自动化,奈斯
页:
[1]
2