This commit is contained in:
2026-07-14 14:24:54 +08:00
parent 45b7c6d5e5
commit 6bb68eb6b7
2 changed files with 47 additions and 5 deletions
+43 -2
View File
@@ -12,14 +12,18 @@
Author: Model Team Author: Model Team
Version: 0.0.1 Version: 0.0.1
""" """
import os
import sys
import logging import logging
import importlib.util
from qt_material import apply_stylesheet from qt_material import apply_stylesheet
from pathlib import Path from pathlib import Path
from .tools_ui import Ui_FormTools from .tools_ui import Ui_FormTools
from PySide6.QtGui import QIcon from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication
from PySide6.QtWidgets import QWidget, QListWidgetItem
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -39,7 +43,7 @@ class ToolsWindow(QWidget, Ui_FormTools):
Attributes: Attributes:
parent: 父窗口对象,默认为 None(顶级窗口) parent: 父窗口对象,默认为 None(顶级窗口)
""" """
def __init__(self, parent: QWidget = None) -> None: def __init__(self, tools:dict, parent: QWidget = None) -> None:
"""初始化工具箱窗口 """初始化工具箱窗口
创建工具箱窗口实例,初始化 UI 界面。 创建工具箱窗口实例,初始化 UI 界面。
@@ -51,7 +55,10 @@ class ToolsWindow(QWidget, Ui_FormTools):
super().__init__(parent) super().__init__(parent)
self.setupUi(self) self.setupUi(self)
self.tools = tools
self.initUI() self.initUI()
self.init_tool_list()
self.load_stylesheet() self.load_stylesheet()
def initUI(self) -> None: def initUI(self) -> None:
@@ -84,3 +91,37 @@ class ToolsWindow(QWidget, Ui_FormTools):
logger.warning(f"主题加载失败,使用默认主题: {e}") logger.warning(f"主题加载失败,使用默认主题: {e}")
except Exception as e: except Exception as e:
logger.warning(f"样式加载失败,使用默认主题: {e}") logger.warning(f"样式加载失败,使用默认主题: {e}")
def init_tool_list(self):
if not os.path.exists(PLUGINS_PATH):
logger.error("服务器链接错误!")
return
sys.path.append(str(PLUGINS_PATH))
for tool in Path(PLUGINS_PATH).glob("*.pyd"):
tool_name = tool.stem
try:
module = importlib.import_module(tool_name)
name = module.read_tool_name()
version = module.read_tool_version()
description = module.read_tool_description()
if name in self.tools.keys():
pass
else:
self.tools[name] = {}
self.tools[name]["version"] = version
self.tools[name]["description"] = description
except Exception as e:
logger.error(f"{tool_name}无法加载:{str(e)}")
# if
sys.path.remove(str(PLUGINS_PATH))
def on_update_tool_card(self):
# for ke
# item = QListWidgetItem()
pass
+4 -3
View File
@@ -11,7 +11,6 @@ Model Team Tools - 主程序入口
- 提供统一的日志记录接口 - 提供统一的日志记录接口
""" """
import sys import sys
import importlib
import logging import logging
import core import core
import traceback import traceback
@@ -48,6 +47,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.setupUi(self) self.setupUi(self)
self.initUI() self.initUI()
self.tools = dict()
def initUI(self) -> None: def initUI(self) -> None:
""" """
初始化用户界面组件 初始化用户界面组件
@@ -107,8 +108,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
- 打开失败时记录 ERROR 级别日志 - 打开失败时记录 ERROR 级别日志
""" """
try: try:
self.tools = core.ToolsWindow() self.tool_window = core.ToolsWindow(self.tools)
self.tools.show() self.tool_window.show()
# logger.info("工具箱窗口已打开") # logger.info("工具箱窗口已打开")
except Exception as e: except Exception as e:
logger.error(f"无法打开工具箱窗口: {e}") logger.error(f"无法打开工具箱窗口: {e}")