Files
Teletext-Editor/src/main.py
Daniel Dybing 80cca7cd79
All checks were successful
Build Linux / Build Linux (push) Successful in 1m33s
Build Windows / Build Windows (push) Successful in 2m55s
feat: add black/new background buttons and standard styling
2026-01-21 14:11:48 +01:00

63 lines
1.9 KiB
Python

import sys
import os
import platform
from PyQt6.QtWidgets import QApplication
from PyQt6.QtGui import QIcon, QImageReader
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)
app.setApplicationName("TeletextEditor")
app.setOrganizationName("DanielDybing")
app.setDesktopFileName("no.ddybing.TeletextEditor") # Helps Linux DEs group windows
# Debug Image Formats
supported_formats = [str(fmt, 'utf-8') for fmt in QImageReader.supportedImageFormats()]
print(f"DEBUG: Supported Image Formats: {supported_formats}")
# 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)
# 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.")
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()