diff --git a/create_icns.py b/create_icns.py new file mode 100755 index 0000000..2feaa9d --- /dev/null +++ b/create_icns.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +import os +import subprocess + +def create_iconset(): + # 创建临时iconset目录 + if not os.path.exists('icons/tmp.iconset'): + os.makedirs('icons/tmp.iconset') + + # 定义需要的图标尺寸 + icon_sizes = [16, 32, 64, 128, 256, 512, 1024] + + for size in icon_sizes: + # 常规分辨率 + output_path = f'icons/tmp.iconset/icon_{size}x{size}.png' + subprocess.run(['sips', '-s', 'format', 'png', + '-z', str(size), str(size), + 'icons/logo.svg', + '--out', output_path], + check=True) + + # 高分辨率(@2x) + if size <= 512: + output_path = f'icons/tmp.iconset/icon_{size}x{size}@2x.png' + subprocess.run(['sips', '-s', 'format', 'png', + '-z', str(size*2), str(size*2), + 'icons/logo.svg', + '--out', output_path], + check=True) + + # 使用iconutil生成.icns文件 + subprocess.run(['iconutil', '-c', 'icns', 'icons/tmp.iconset', + '-o', 'icons/logo.icns'], + check=True) + + # 清理临时文件 + subprocess.run(['rm', '-rf', 'icons/tmp.iconset'], check=True) + +if __name__ == '__main__': + create_iconset() \ No newline at end of file diff --git a/icons/logo.icns b/icons/logo.icns index 8ebd798..ad95919 100644 Binary files a/icons/logo.icns and b/icons/logo.icns differ diff --git a/qt.conf b/qt.conf new file mode 100644 index 0000000..38b4464 --- /dev/null +++ b/qt.conf @@ -0,0 +1,5 @@ +[Paths] +Plugins = PyQt6/Qt6/plugins +Binaries = PyQt6/Qt6/bin +Libraries = PyQt6/Qt6/lib +Translations = PyQt6/Qt6/translations \ No newline at end of file