这是使用PyQT5作为UI的首次提交,将后端和UI合并到1个工程中,统一使用了Python,没有使用JS和HTML
This commit is contained in:
61
UI/reserved/debug_main.py
Normal file
61
UI/reserved/debug_main.py
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user