28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
import sys
|
|
from pathlib import Path
|
|
from PySide6.QtWidgets import QApplication
|
|
|
|
PROJECT_ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
def get_internal_dir() -> Path:
|
|
# Retourne le chemin vers les ressources figées à l'intérieur de l'EXE (_MEIPASS).
|
|
# En mode script, retourne le dossier du fichier .py.
|
|
if getattr(sys, 'frozen', False) and hasattr(sys, '_MEIPASS'):
|
|
return Path(sys._MEIPASS).resolve()
|
|
return Path(__file__).resolve().parents[2]
|
|
|
|
def get_executable_dir() -> Path:
|
|
# Retourne le chemin du dossier contenant réellement le fichier .exe.
|
|
# C'est ici que se trouve votre 'config.json'.
|
|
if getattr(sys, 'frozen', False):
|
|
# sys.executable est le chemin complet vers l'application .exe
|
|
return Path(sys.executable).parent.resolve()
|
|
return Path(__file__).resolve().parents[2]
|
|
|
|
def quit_application(exit_code: int = 0) -> None:
|
|
app = QApplication.instance()
|
|
if app is not None:
|
|
app.closeAllWindows()
|
|
app.exit(exit_code)
|
|
sys.exit(exit_code)
|