This commit is contained in:
2025-05-08 00:39:41 +08:00
parent 1bc836fafa
commit 24acc2a6f1
17 changed files with 1464 additions and 1388 deletions

View File

@@ -28,6 +28,7 @@ import sys
import os
from scripts.ui import ui_utils
from scripts.utils import utils_toolbar
from scripts.ui.localization import get_text
#========================================== CONFIG ========================================
import config
TOOL_NAME = config.TOOL_NAME
@@ -60,6 +61,19 @@ class ToolbarUI(ui_utils.BaseUI):
工具栏UI类 - 负责显示工具栏界面和基础操作
继承自BaseUI类实现工具栏相关的UI功能
"""
# 类变量,存储单例实例
_instance = None
@classmethod
def get_instance(cls):
"""
获取ToolbarUI的单例实例
Returns:
ToolbarUI: 单例实例如果不存在则返回None
"""
return cls._instance
#========================================== INIT ========================================
def __init__(self):
"""
@@ -68,6 +82,9 @@ class ToolbarUI(ui_utils.BaseUI):
"""
super(ToolbarUI, self).__init__()
# 设置单例实例
ToolbarUI._instance = self
# 创建主控件
self.main_widget = QtWidgets.QWidget()
self.main_widget.setObjectName("toolbarMainWidget")
@@ -103,6 +120,9 @@ class ToolbarUI(ui_utils.BaseUI):
self.buttons["Export skin"] = self._create_tool_button("导出蒙皮", "export_skin.png")
self.buttons["Copy skin"] = self._create_tool_button("复制蒙皮", "copy_skin.png")
# 翻译按钮
self.buttons["Translate"] = self._create_tool_button("切换语言", "translate.png")
# 帮助按钮
self.buttons["Help"] = self._create_tool_button("帮助", "help.png")
@@ -115,7 +135,7 @@ class ToolbarUI(ui_utils.BaseUI):
checkable: 是否可选中
"""
button = QtWidgets.QPushButton()
button.setToolTip(LANG.get(tooltip, tooltip))
button.setToolTip(get_text(tooltip, tooltip))
# 构建图标完整路径
icon_path = os.path.join(ICONS_PATH, icon_name)
@@ -126,7 +146,7 @@ class ToolbarUI(ui_utils.BaseUI):
button.setIconSize(QtCore.QSize(24, 24))
else:
# 如果图标不存在,使用文字
button.setText(LANG.get(tooltip, tooltip))
button.setText(get_text(tooltip, tooltip))
button.setObjectName(f"{tooltip.replace(' ', '_').lower()}_button")
button.setFixedSize(32, 32)
@@ -165,6 +185,8 @@ class ToolbarUI(ui_utils.BaseUI):
self.layouts["toolbar"].addWidget(self.buttons["Export skin"])
self.layouts["toolbar"].addWidget(self.buttons["Copy skin"])
self.layouts["toolbar"].addWidget(self._create_separator())
self.layouts["toolbar"].addWidget(self.buttons["Translate"])
self.layouts["toolbar"].addWidget(self._create_separator())
self.layouts["toolbar"].addWidget(self.buttons["Help"])
self.layouts["toolbar"].addStretch()
@@ -190,6 +212,9 @@ class ToolbarUI(ui_utils.BaseUI):
self.buttons["Export skin"].clicked.connect(utils_toolbar.export_skin)
self.buttons["Copy skin"].clicked.connect(utils_toolbar.copy_skin)
# 翻译按钮连接
self.buttons["Translate"].clicked.connect(utils_toolbar.toggle_language)
# 帮助按钮连接
self.buttons["Help"].clicked.connect(utils_toolbar.show_help)