# main.pyimport osimport signalimport sysimport PySide6from PySide6.QtCore import QUrlfrom PySide6.QtQml import QQmlApplicationEnginefrom PySide6.QtWidgets import QApplicationfrom loguru import loggerfrom commonLib.log.dailyRollingLogger import DailyRollingLoggerfrom drtdTools.drtdToolProc import DrtdToolsProcfrom testDir.testFuncs import testFuncs, testQmldrtdToolsProc = NoneIS_GUI_MODE = True # ← 设置为 False 可切换回控制台模式# IS_GUI_MODE = False # ← 设置为 False 可切换回控制台模式# os.environ["QML_IMPORT_PATH"] = r"C:\Users\Administrator\AppData\Roaming\Python\Python313\site-packages\PySide6\qml"# os.environ["QT_PLUGIN_PATH"] = r"C:\Users\Administrator\AppData\Roaming\Python\Python313\site-packages\PySide6\plugins"def main():# logger.info("")# testPdfOutput()# _startDrtdToos()testFuncs()def signalHandler(sig, frame):logger.warning("捕获到退出信号,准备退出")QApplication.quit() # 触发主事件循环退出QApplication.exit(0)def _startDrtdToos():global drtdToolsProcdrtdToolsProc = DrtdToolsProc()if __name__ == "__main__":app = QApplication(sys.argv)dailyRollingLogger = DailyRollingLogger("pyApp")signal.signal(signal.SIGINT, signalHandler)signal.signal(signal.SIGTERM, signalHandler)app.aboutToQuit.connect(lambda: logger.info("程序即将退出,清理资源"))print("PySide6 base path:", os.path.dirname(PySide6.__file__))if IS_GUI_MODE:engine = QQmlApplicationEngine()# 把包含 TaoQuick 模块的目录添加到 QML 模块导入路径module_path = os.path.join(os.path.dirname(__file__), "view", "taoQuick_1.2.0", "TaoQuick")logger.debug(f"modultPath: {module_path}")engine.addImportPath(module_path)qmlPath = os.path.join(os.path.dirname(__file__), "view", "qml", "main.qml")try:engine.load(QUrl.fromLocalFile(qmlPath))except Exception as e:logger.error(f"加载 QML 文件出错: {e}")testQml(engine.rootContext(), "QmlTest")if not engine.rootObjects():logger.error(f"QML 加载失败,文件路径: {qmlPath}")sys.exit(-1)else:logger.debug("运行控制台模式")main()logger.info("main() 执行完毕")sys.exit(app.exec())
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。