PCM_Report/main.py

46 lines
1.5 KiB
Python

import os
import traceback
import sys
from single_instance import SingleInstance
# 在导入任何Qt模块之前设置Qt WebEngine环境变量
# 这样可以避免PySide6 6.8+版本在Windows上的DirectComposition和GPU崩溃问题
os.environ["QTWEBENGINE_CHROMIUM_FLAGS"] = (
"--disable-gpu "
"--disable-gpu-compositing "
"--disable-software-rasterizer "
"--disable-direct-composition "
"--disable-3d-apis "
"--disable-accelerated-2d-canvas "
"--disable-accelerated-video-decode "
"--num-raster-threads=1 "
"--in-process-gpu"
)
os.environ["QT_OPENGL"] = "software"
os.environ["QTWEBENGINE_DISABLE_SANDBOX"] = "1"
if __name__ == "__main__":
with SingleInstance() as can_run:
if not can_run:
print("=" * 60)
print("程序已在运行中,不允许重复启动!")
print("=" * 60)
input("按Enter键退出...")
sys.exit(1)
try:
import ui_main
ui_main.run_app()
except Exception as e:
print("=" * 60)
print("程序崩溃!错误类型:", type(e).__name__)
print("错误信息:", str(e))
print("=" * 60)
traceback.print_exc()
print("=" * 60)
input("按Enter键退出...")
except SystemExit as e:
if e.code != 0:
print(f"程序异常退出,退出码: {e.code}")
input("按Enter键退出...")