更新
This commit is contained in:
+43
-2
@@ -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
|
||||||
|
|
||||||
@@ -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}")
|
||||||
|
|||||||
Reference in New Issue
Block a user