TZ425 发表于 2023-11-2 03:22

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()

TZ425 发表于 2023-11-2 09:06

Kls673M 发表于 2023-11-2 08:51
感谢分享,如果需要自定义图标不是应该在打包时就设定好吗?

是的,这是打包时添加图标的语法:pyinstaller -F -w -i 图标.ico python文件.py
不添加图标:pyinstaller -F -w python文件.py

sai609 发表于 2023-11-2 08:33

Python办公自动化

KMT-jiang 发表于 2023-11-2 08:36

Kls673M 发表于 2023-11-2 08:51

感谢分享,如果需要自定义图标不是应该在打包时就设定好吗?

zeal_nba 发表于 2023-11-2 10:06

谢谢分享,又认识了窗口库与函数,还有转换图片的方法,很实用,很受用

lry123 发表于 2023-11-2 10:22

感谢大佬分享 谢谢

xiaoyaowolf 发表于 2023-11-2 10:25

感谢分享,留个标,学习一下

likezqc 发表于 2023-11-2 10:27


感谢分享,留个标,学习一下

Bean2012 发表于 2023-11-2 11:16

Python办公自动化,奈斯
页: [1] 2
查看完整版本: Python - ico文件转换器 - 图片格式转图标