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
Version: 0.0.1
"""
import os
import sys
import logging
import importlib.util
from qt_material import apply_stylesheet
from pathlib import Path
from .tools_ui import Ui_FormTools
from PySide6.QtGui import QIcon
from PySide6.QtWidgets import QWidget, QApplication
from PySide6.QtWidgets import QWidget, QListWidgetItem
logger = logging.getLogger(__name__)
@@ -39,7 +43,7 @@ class ToolsWindow(QWidget, Ui_FormTools):
Attributes:
parent: 父窗口对象,默认为 None(顶级窗口)
"""
def __init__(self, parent: QWidget = None) -> None:
def __init__(self, tools:dict, parent: QWidget = None) -> None:
"""初始化工具箱窗口
创建工具箱窗口实例,初始化 UI 界面。
@@ -51,7 +55,10 @@ class ToolsWindow(QWidget, Ui_FormTools):
super().__init__(parent)
self.setupUi(self)
self.tools = tools
self.initUI()
self.init_tool_list()
self.load_stylesheet()
def initUI(self) -> None:
@@ -84,3 +91,37 @@ class ToolsWindow(QWidget, Ui_FormTools):
logger.warning(f"主题加载失败,使用默认主题: {e}")
except Exception as 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