Files
Teletext-Editor/src/main.py

63 lines
1.9 KiB
Python
Raw Normal View History

import sys
2026-01-13 18:23:00 +01:00
import os
import platform
from PyQt6.QtWidgets import QApplication
from PyQt6.QtGui import QIcon, QImageReader
from teletext.ui import MainWindow
2026-01-13 18:23:00 +01:00
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():
# Fix for Windows Taskbar Icon
if platform.system() == 'Windows':
import ctypes
myappid = 'ddybing.teletexteditor.1.0' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
app = QApplication(sys.argv)
app.setApplicationName("TeletextEditor")
app.setOrganizationName("DanielDybing")
app.setDesktopFileName("no.ddybing.TeletextEditor") # Helps Linux DEs group windows
2026-01-13 18:23:00 +01:00
# Debug Image Formats
supported_formats = [str(fmt, 'utf-8') for fmt in QImageReader.supportedImageFormats()]
print(f"DEBUG: Supported Image Formats: {supported_formats}")
2026-01-13 18:23:00 +01:00
# Set App Icon
icon_path = resource_path("app_icon.png")
print(f"DEBUG: Looking for icon at: {icon_path}")
2026-01-13 18:23:00 +01:00
if os.path.exists(icon_path):
print("DEBUG: Icon file found.")
app_icon = QIcon(icon_path)
app.setWindowIcon(app_icon)
# Verify icon loaded
if app_icon.isNull():
print("DEBUG: QIcon is null (failed to load image data)")
else:
print(f"DEBUG: QIcon loaded. Available sizes: {app_icon.availableSizes()}")
else:
print("DEBUG: Icon file NOT found.")
2026-01-13 18:23:00 +01:00
window = MainWindow()
# Ensure window inherits the icon
if os.path.exists(icon_path):
window.setWindowIcon(QIcon(icon_path))
window.show()
sys.exit(app.exec())
if __name__ == "__main__":
main()