Files
dtm-py-all/UI/reserved/debug_main.py

61 lines
1.5 KiB
Python

#!/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()