Files
orisys-sdk/examples/gui/app.py
T
2026-06-18 22:18:19 +08:00

35 lines
1.0 KiB
Python

"""Qt application bootstrap for Orisys example dashboards."""
from __future__ import annotations
import os
import sys
def fix_qt_plugin_path() -> None:
"""OpenCV redirects Qt to cv2/qt/plugins; use PyQt5's plugins instead."""
try:
from PyQt5.QtCore import QLibraryInfo
os.environ["QT_QPA_PLATFORM_PLUGIN_PATH"] = QLibraryInfo.location(
QLibraryInfo.PluginsPath
)
except Exception:
path = os.environ.get("QT_QPA_PLATFORM_PLUGIN_PATH", "")
if "cv2" in path.replace("\\", "/"):
os.environ.pop("QT_QPA_PLATFORM_PLUGIN_PATH", None)
def get_or_create_qapp(app_name: str = "Orisys Finger Dashboard"):
fix_qt_plugin_path()
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps, True)
app = QApplication.instance()
if app is None:
app = QApplication(sys.argv)
app.setApplicationName(app_name)
return app