Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43c5bdac8c |
@@ -30,6 +30,7 @@ exe = EXE(
|
|||||||
upx_exclude=[],
|
upx_exclude=[],
|
||||||
runtime_tmpdir=None,
|
runtime_tmpdir=None,
|
||||||
console=False,
|
console=False,
|
||||||
|
icon='ui/images/image_processor.ico',
|
||||||
disable_windowed_traceback=False,
|
disable_windowed_traceback=False,
|
||||||
argv_emulation=False,
|
argv_emulation=False,
|
||||||
target_arch=None,
|
target_arch=None,
|
||||||
|
|||||||
30
main.py
30
main.py
@@ -1,8 +1,10 @@
|
|||||||
"""
|
"""
|
||||||
Main module for the Image Processor application.
|
Main module for the Image Processor application.
|
||||||
"""
|
"""
|
||||||
from PIL import Image
|
from PIL import Image, ImageTk
|
||||||
import customtkinter as ctk
|
import customtkinter as ctk
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
from ui.menu import MenuBar # Import the new MenuBar class
|
from ui.menu import MenuBar # Import the new MenuBar class
|
||||||
from ui.log_frame import LogWindow
|
from ui.log_frame import LogWindow
|
||||||
from ui.button_frame import ButtonFrame
|
from ui.button_frame import ButtonFrame
|
||||||
@@ -15,6 +17,15 @@ from controller import AppController
|
|||||||
from ui.preview_frame import PreviewFrame # Import the new PreviewFrame class
|
from ui.preview_frame import PreviewFrame # Import the new PreviewFrame class
|
||||||
|
|
||||||
|
|
||||||
|
def resource_path(relative_path: str) -> str:
|
||||||
|
"""Get absolute path to a resource (dev or PyInstaller)."""
|
||||||
|
try:
|
||||||
|
base_path = sys._MEIPASS # type: ignore[attr-defined]
|
||||||
|
except Exception:
|
||||||
|
base_path = os.path.abspath(".")
|
||||||
|
return os.path.join(base_path, relative_path)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ImageProcessorApp:
|
class ImageProcessorApp:
|
||||||
"""
|
"""
|
||||||
@@ -34,6 +45,23 @@ class ImageProcessorApp:
|
|||||||
self.root.title("Image Processor")
|
self.root.title("Image Processor")
|
||||||
self.root.geometry("553x800")
|
self.root.geometry("553x800")
|
||||||
|
|
||||||
|
# Window/taskbar icon (Windows prefers .ico)
|
||||||
|
try:
|
||||||
|
ico_path = resource_path("ui/images/image_processor.ico")
|
||||||
|
if os.path.exists(ico_path):
|
||||||
|
self.root.iconbitmap(ico_path)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Cross-platform icon (uses PNG)
|
||||||
|
try:
|
||||||
|
png_path = resource_path("ui/images/image_processor.png")
|
||||||
|
if os.path.exists(png_path):
|
||||||
|
self._icon_photo = ImageTk.PhotoImage(Image.open(png_path))
|
||||||
|
self.root.iconphoto(True, self._icon_photo)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
# Initialize the controller
|
# Initialize the controller
|
||||||
self.controller = AppController(self.root)
|
self.controller = AppController(self.root)
|
||||||
|
|
||||||
|
|||||||
12
main.spec
12
main.spec
@@ -3,8 +3,12 @@ import glob
|
|||||||
import os
|
import os
|
||||||
# -*- mode: python ; coding: utf-8 -*-
|
# -*- mode: python ; coding: utf-8 -*-
|
||||||
|
|
||||||
# Collect all PNG and JPG images in the ui/images directory
|
# Collect UI images/icons in the ui/images directory
|
||||||
image_files = [(file, "ui/images") for file in glob.glob("ui/images/*.*") if file.endswith(('.png', '.jpg', '.jpeg'))]
|
image_files = [
|
||||||
|
(file, "ui/images")
|
||||||
|
for file in glob.glob("ui/images/*.*")
|
||||||
|
if file.lower().endswith((".png", ".jpg", ".jpeg", ".ico"))
|
||||||
|
]
|
||||||
|
|
||||||
block_cipher = None
|
block_cipher = None
|
||||||
|
|
||||||
@@ -33,13 +37,15 @@ exe = EXE(
|
|||||||
a.zipfiles,
|
a.zipfiles,
|
||||||
a.datas,
|
a.datas,
|
||||||
[],
|
[],
|
||||||
name='main',
|
name='image_processor',
|
||||||
debug=False,
|
debug=False,
|
||||||
bootloader_ignore_signals=False,
|
bootloader_ignore_signals=False,
|
||||||
strip=False,
|
strip=False,
|
||||||
upx=True,
|
upx=True,
|
||||||
upx_exclude=[],
|
upx_exclude=[],
|
||||||
runtime_tmpdir=None,
|
runtime_tmpdir=None,
|
||||||
|
|
||||||
|
icon='ui/images/image_processor.ico',
|
||||||
|
|
||||||
disable_windowed_traceback=False,
|
disable_windowed_traceback=False,
|
||||||
argv_emulation=False,
|
argv_emulation=False,
|
||||||
|
|||||||
BIN
ui/images/image_processor.ico
Normal file
BIN
ui/images/image_processor.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
ui/images/image_processor.png
Normal file
BIN
ui/images/image_processor.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
Reference in New Issue
Block a user