import sys import os import platform 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(): # 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) # Set App Icon icon_path = resource_path("app_icon.png") print(f"DEBUG: Looking for icon at: {icon_path}") if os.path.exists(icon_path): print("DEBUG: Icon file found.") app_icon = QIcon(icon_path) app.setWindowIcon(app_icon) else: print("DEBUG: Icon file NOT found.") 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()