66"""
77
88import sys
9- import os
10- import argparse
11- import logging
129from pathlib import Path
1310
1411# 添加项目路径
1512project_root = Path (__file__ ).parent
1613sys .path .insert (0 , str (project_root ))
1714
1815from PyQt6 .QtWidgets import QApplication
19- from PyQt6 .QtCore import Qt
2016from PyQt6 .QtGui import QIcon
2117
2218from infinite_sense_core .gui import MainWindow
23- from infinite_sense_core .gui .utils .theme_manager import get_theme_manager , Theme
24-
25-
26- def setup_logging (log_level : str = "INFO" , log_file : str = None ):
27- """设置日志配置"""
28- level = getattr (logging , log_level .upper (), logging .INFO )
29-
30- handlers = [logging .StreamHandler (sys .stdout )]
31- if log_file :
32- handlers .append (logging .FileHandler (log_file , encoding = 'utf-8' ))
33-
34- logging .basicConfig (
35- level = level ,
36- format = '[%(asctime)s] %(levelname)s: %(message)s' ,
37- handlers = handlers
38- )
3919
4020
4121def create_application () -> QApplication :
@@ -45,102 +25,42 @@ def create_application() -> QApplication:
4525 # 设置应用程序属性
4626 app .setApplicationName ("SimpleSensorSync" )
4727 app .setApplicationVersion ("0.2.0" )
48- app .setApplicationDisplayName ("SimpleSensorSync - 多传感器同步监控 " )
49- app .setOrganizationName ("SimpleSensorSync Team " )
50- app .setOrganizationDomain ("simplesensorsync.org " )
28+ app .setApplicationDisplayName ("SimpleSensorSync" )
29+ app .setOrganizationName ("InfiniteSenseLab " )
30+ app .setOrganizationDomain ("https://github.com/InfiniteSenseLab " )
5131
5232 # 设置应用程序图标(如果存在)
5333 icon_path = project_root / "infinite_sense_core" / "gui" / "resources" / "icons" / "app_icon.png"
5434 if icon_path .exists ():
5535 app .setWindowIcon (QIcon (str (icon_path )))
5636
57- # 启用高DPI支持 (PyQt6中自动启用,这些属性已弃用)
58-
5937 return app
6038
6139
6240def main ():
6341 """主函数"""
64- parser = argparse .ArgumentParser (
65- description = "SimpleSensorSync GUI - 多传感器同步监控界面" ,
66- formatter_class = argparse .RawDescriptionHelpFormatter ,
67- epilog = """
68- 示例用法:
69- python gui_main.py # 启动GUI界面
70- python gui_main.py --theme dark # 使用深色主题
71- python gui_main.py --log-level DEBUG # 启用调试日志
72- python gui_main.py --log-file app.log # 保存日志到文件
73- """
74- )
75-
76- parser .add_argument (
77- "--theme" ,
78- choices = ["light" , "dark" , "auto" ],
79- default = "light" ,
80- help = "界面主题 (默认: light)"
81- )
82-
83- parser .add_argument (
84- "--log-level" ,
85- choices = ["DEBUG" , "INFO" , "WARNING" , "ERROR" ],
86- default = "INFO" ,
87- help = "日志级别 (默认: INFO)"
88- )
89-
90- parser .add_argument (
91- "--log-file" ,
92- type = str ,
93- help = "日志文件路径"
94- )
95-
96- parser .add_argument (
97- "--config" ,
98- type = str ,
99- help = "配置文件路径"
100- )
101-
102- args = parser .parse_args ()
103-
104- # 设置日志
105- setup_logging (args .log_level , args .log_file )
106- logging .info ("SimpleSensorSync GUI 启动中..." )
42+ print ("启动 SimpleSensorSync GUI..." )
10743
10844 try :
10945 # 创建应用程序
11046 app = create_application ()
11147
112- # 设置主题
113- theme_manager = get_theme_manager ()
114- if args .theme == "dark" :
115- theme_manager .set_theme (Theme .DARK )
116- elif args .theme == "auto" :
117- theme_manager .set_theme (Theme .AUTO )
118- else :
119- theme_manager .set_theme (Theme .LIGHT )
120-
121- logging .info (f"已设置主题: { args .theme } " )
122-
12348 # 创建主窗口
12449 main_window = MainWindow ()
12550
126- # 加载配置文件(如果指定)
127- if args .config and os .path .exists (args .config ):
128- logging .info (f"加载配置文件: { args .config } " )
129- # 这里可以添加配置文件加载逻辑
130-
13151 # 显示主窗口
13252 main_window .show ()
133- logging . info ("主窗口已显示" )
53+ print ("主窗口已显示" )
13454
13555 # 运行应用程序
136- logging . info ("应用程序开始运行" )
56+ print ("应用程序开始运行" )
13757 exit_code = app .exec ()
13858
139- logging . info (f"应用程序退出,退出码: { exit_code } " )
59+ print (f"应用程序退出,退出码: { exit_code } " )
14060 return exit_code
14161
14262 except Exception as e :
143- logging . error (f"应用程序启动失败: { e } " , exc_info = True )
63+ print (f"应用程序启动失败: { e } " )
14464 return 1
14565
14666
0 commit comments