#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ DTM PyQt5重构项目主入口 - 调试版本 """ import sys import os from PyQt5.QtWidgets import QApplication from PyQt5.QtQml import QQmlApplicationEngine from PyQt5.QtCore import QUrl, qDebug from controllers.main_controller import MainController def main(): print("正在启动应用程序...") app = QApplication(sys.argv) print("QApplication创建成功") # 创建主控制器 controller = MainController() print("MainController创建成功") # 创建QML引擎 engine = QQmlApplicationEngine() print("QQmlApplicationEngine创建成功") # 将控制器暴露给QML engine.rootContext().setContextProperty("mainController", controller) print("控制器已暴露给QML") # 加载主界面 current_dir = os.path.dirname(os.path.abspath(__file__)) qml_file = os.path.join(current_dir, "qml", "main.qml") print(f"正在加载QML文件: {qml_file}") if not os.path.exists(qml_file): print(f"错误: QML文件不存在: {qml_file}") sys.exit(-1) engine.load(QUrl.fromLocalFile(qml_file)) print("QML文件加载完成") if not engine.rootObjects(): print("错误: 未能创建根对象") errors = engine.errors() for error in errors: print(f"QML错误: {error.toString()}") sys.exit(-1) else: print("根对象创建成功") print("应用程序启动完成") sys.exit(app.exec_()) if __name__ == '__main__': main()