This commit is contained in:
2025-05-08 23:57:22 +08:00
parent 24acc2a6f1
commit 7094a5886a
18 changed files with 442 additions and 583 deletions

View File

@@ -13,8 +13,8 @@ Toolbar UI Module for Plugin
- 删除RL4节点用于切换DNA编辑的状态
"""
#========================================= IMPORT =========================================
from Qt import QtWidgets, QtCore, QtGui
from Qt.QtCompat import wrapInstance
from scripts.ui.Qt import QtWidgets, QtCore, QtGui
from scripts.ui.Qt.QtCompat import wrapInstance
from maya import OpenMayaUI as omui
import maya.cmds as cmds
import maya.mel as mel
@@ -28,7 +28,6 @@ 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
@@ -54,36 +53,20 @@ TOOL_WIDTH = config.TOOL_WIDTH
TOOL_HEIGHT = config.TOOL_HEIGHT
#========================================= LOCATION =======================================
from scripts.ui import localization
LANG = localization.LANG
TEXT = localization.TEXT
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):
def __init__(self, parent=None):
"""
初始化工具栏UI
创建主控件和布局,并连接信号和槽
"""
super(ToolbarUI, self).__init__()
# 设置单例实例
ToolbarUI._instance = self
super().__init__(parent)
# 创建主控件
self.main_widget = QtWidgets.QWidget()
@@ -135,7 +118,7 @@ class ToolbarUI(ui_utils.BaseUI):
checkable: 是否可选中
"""
button = QtWidgets.QPushButton()
button.setToolTip(get_text(tooltip, tooltip))
button.setToolTip(TEXT(tooltip, tooltip))
# 构建图标完整路径
icon_path = os.path.join(ICONS_PATH, icon_name)
@@ -146,7 +129,7 @@ class ToolbarUI(ui_utils.BaseUI):
button.setIconSize(QtCore.QSize(24, 24))
else:
# 如果图标不存在,使用文字
button.setText(get_text(tooltip, tooltip))
button.setText(TEXT(tooltip, tooltip))
button.setObjectName(f"{tooltip.replace(' ', '_').lower()}_button")
button.setFixedSize(32, 32)