Add app icon and update build process
Some checks failed
Build Linux / Build Linux (push) Successful in 1m13s
Build Windows / Build Windows (push) Has been cancelled

This commit is contained in:
2026-01-13 18:23:00 +01:00
parent 334d25c3ba
commit 9fc75b7e39
5 changed files with 43 additions and 1 deletions

BIN
app_icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

BIN
app_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 MiB

View File

@@ -19,11 +19,16 @@ def build():
system = platform.system()
print(f"Detected OS: {system}")
# Determine separator for --add-data
sep = ";" if system == "Windows" else ":"
# Base command
base_cmd = [
sys.executable, "-m", "PyInstaller",
"--onefile",
"--windowed",
"--paths", "src",
f"--add-data=app_icon.png{sep}.",
"src/main.py"
]
@@ -31,6 +36,8 @@ def build():
name = "TeletextEditor_Linux"
elif system == "Windows":
name = "TeletextEditor_Windows.exe"
# Add icon for Windows executable
base_cmd.append("--icon=app_icon.ico")
else:
print(f"Unsupported platform: {system}")
return
@@ -57,4 +64,4 @@ def build():
if __name__ == "__main__":
clean_build_dirs()
build()
build()

17
convert_icon.py Normal file
View File

@@ -0,0 +1,17 @@
from PIL import Image
import os
def convert_to_ico(png_path, ico_path):
if not os.path.exists(png_path):
print(f"Error: {png_path} not found.")
return
try:
img = Image.open(png_path)
img.save(ico_path, format='ICO', sizes=[(256, 256), (128, 128), (64, 64), (48, 48), (32, 32), (16, 16)])
print(f"Successfully converted {png_path} to {ico_path}")
except Exception as e:
print(f"Error converting image: {e}")
if __name__ == "__main__":
convert_to_ico("app_icon.png", "app_icon.ico")

View File

@@ -1,10 +1,28 @@
import sys
import os
from PyQt6.QtWidgets import QApplication
from PyQt6.QtGui import QIcon
from teletext.ui import MainWindow
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
def main():
app = QApplication(sys.argv)
# Set App Icon
icon_path = resource_path("app_icon.png")
if os.path.exists(icon_path):
app.setWindowIcon(QIcon(icon_path))
window = MainWindow()
window.show()
sys.exit(app.exec())