Initial commit

This commit is contained in:
Eric-Terminal
2025-08-04 01:29:50 +08:00
parent 283e1ded88
commit 4a021d5eca
7 changed files with 783 additions and 0 deletions

37
main.py Normal file
View File

@@ -0,0 +1,37 @@
import tkinter as tk
from app_ui import MainApp
from config_manager import ConfigManager
from api_services import ApiService
import sys
import os
def resource_path(relative_path):
"""
获取资源的绝对路径以支持PyInstaller打包后的单文件应用。
在开发环境中,返回基于当前工作目录的相对路径。
在PyInstaller打包的应用中返回临时文件夹`_MEIPASS`中的路径。
"""
try:
# 尝试获取PyInstaller在运行时创建的临时路径
base_path = sys._MEIPASS
except Exception:
# 如果`_MEIPASS`属性不存在,说明是在开发环境,使用当前目录
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
if __name__ == "__main__":
# 1. 初始化核心服务
# 使用 resource_path 确保在打包后也能正确找到配置文件
config_manager = ConfigManager(resource_path("config.json"))
api_service = ApiService(config_manager)
# 2. 创建Tkinter主窗口
root = tk.Tk()
# 3. 实例化主应用,将服务注入应用
app = MainApp(root, config_manager, api_service)
# 4. 启动Tkinter事件循环
root.mainloop()