61 lines
1.5 KiB
Python
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() |