Update
This commit is contained in:
@@ -14,8 +14,8 @@ Rigging UI Module for Plugin
|
||||
- 复制蒙皮
|
||||
"""
|
||||
#========================================= 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
|
||||
@@ -54,8 +54,7 @@ TOOL_WIDTH = config.TOOL_WIDTH
|
||||
TOOL_HEIGHT = config.TOOL_HEIGHT
|
||||
#========================================= LOCATION =======================================
|
||||
from scripts.ui import localization
|
||||
LANG = localization.LANG
|
||||
get_text = localization.get_text
|
||||
TEXT = localization.TEXT
|
||||
|
||||
class RiggingUI(ui_utils.BaseUI):
|
||||
"""
|
||||
@@ -63,21 +62,13 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
继承自BaseUI类,实现绑定系统相关的UI功能
|
||||
"""
|
||||
#========================================== INIT ========================================
|
||||
def __init__(self):
|
||||
def __init__(self, parent=None):
|
||||
"""
|
||||
初始化绑定系统UI
|
||||
创建主控件和布局,并连接信号和槽
|
||||
"""
|
||||
super(RiggingUI, self).__init__()
|
||||
|
||||
# 初始化字典
|
||||
self.controls = {}
|
||||
self.layouts = {}
|
||||
self.buttons = {}
|
||||
self.splitters = {}
|
||||
self.inputs = {}
|
||||
self.labels = {}
|
||||
|
||||
super().__init__(parent)
|
||||
|
||||
# 创建主控件
|
||||
self.main_widget = QtWidgets.QWidget()
|
||||
self.main_widget.setObjectName("riggingMainWidget")
|
||||
@@ -86,6 +77,9 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.create_widgets()
|
||||
self.create_layouts()
|
||||
self.create_connections()
|
||||
|
||||
# 更新UI文本
|
||||
self.update_language()
|
||||
|
||||
#========================================= WIDGET =======================================
|
||||
def create_widgets(self):
|
||||
@@ -94,7 +88,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
包括按钮、标签、列表等
|
||||
"""
|
||||
# 标题标签 - 使用HTML格式化标题
|
||||
title_text = f"<h4 style='margin:0;padding:5px;'>{get_text('rigging_title', '骨骼绑定')}</h4>"
|
||||
title_text = f"<h4 style='margin:0;padding:5px;'>{TEXT('rigging_title', '骨骼绑定')}</h4>"
|
||||
self.controls["title_label"] = QtWidgets.QLabel(title_text)
|
||||
self.controls["title_label"].setObjectName("riggingTitleLabel")
|
||||
self.controls["title_label"].setAlignment(QtCore.Qt.AlignCenter)
|
||||
@@ -109,7 +103,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["presets_panel"].setObjectName("presetsPanel")
|
||||
|
||||
# Presets 组
|
||||
self.controls["presets_group"] = QtWidgets.QGroupBox(get_text("presets", "Presets"))
|
||||
self.controls["presets_group"] = QtWidgets.QGroupBox(TEXT("presets", "Presets"))
|
||||
self.controls["presets_group"].setObjectName("presetsGroup")
|
||||
|
||||
# 创建预设显示区域
|
||||
@@ -190,12 +184,12 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["presets_slider"].setValue(50)
|
||||
|
||||
# 导出预设按钮
|
||||
self.buttons["export_presets"] = QtWidgets.QPushButton(get_text("export_presets", "导出预设"))
|
||||
self.buttons["export_presets"] = QtWidgets.QPushButton(TEXT("export_presets", "导出预设"))
|
||||
self.buttons["export_presets"].setObjectName("exportPresetsButton")
|
||||
self.buttons["export_presets"].setIcon(ui_utils.load_icon("export"))
|
||||
|
||||
# 导入预设按钮
|
||||
self.buttons["import_presets"] = QtWidgets.QPushButton(get_text("import_presets", "导入预设"))
|
||||
self.buttons["import_presets"] = QtWidgets.QPushButton(TEXT("import_presets", "导入预设"))
|
||||
self.buttons["import_presets"].setObjectName("importPresetsButton")
|
||||
self.buttons["import_presets"].setIcon(ui_utils.load_icon("import"))
|
||||
|
||||
@@ -210,11 +204,11 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["assets_panel"].setObjectName("assetsPanel")
|
||||
|
||||
# Assets 组
|
||||
self.controls["assets_group"] = QtWidgets.QGroupBox(get_text("assets", "Assets"))
|
||||
self.controls["assets_group"] = QtWidgets.QGroupBox(TEXT("assets", "资产"))
|
||||
self.controls["assets_group"].setObjectName("assetsGroup")
|
||||
|
||||
# 项目路径标签和输入框
|
||||
self.controls["project_path_label"] = QtWidgets.QLabel(get_text("project_path", "项目路径:"))
|
||||
self.controls["project_path_label"] = QtWidgets.QLabel(TEXT("project_path", "项目路径:"))
|
||||
self.controls["project_path_label"].setObjectName("projectPathLabel")
|
||||
|
||||
self.controls["project_path_input"] = QtWidgets.QLineEdit()
|
||||
@@ -229,7 +223,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.buttons["browse_path"].setFixedWidth(100)
|
||||
|
||||
# Presets DNA 标签和输入框
|
||||
self.controls["presets_dna_label"] = QtWidgets.QLabel(get_text("Presets DNA:", "预设 DNA:"))
|
||||
self.controls["presets_dna_label"] = QtWidgets.QLabel(TEXT("Presets DNA:", "预设 DNA:"))
|
||||
self.controls["presets_dna_label"].setObjectName("presetsDnaLabel")
|
||||
|
||||
self.controls["presets_dna_input"] = QtWidgets.QLineEdit()
|
||||
@@ -247,18 +241,18 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["descriptor_panel"].setObjectName("descriptorPanel")
|
||||
|
||||
# Descriptor 组
|
||||
self.controls["descriptor_group"] = QtWidgets.QGroupBox(get_text("descriptor", "Descriptor"))
|
||||
self.controls["descriptor_group"] = QtWidgets.QGroupBox(TEXT("descriptor", "描述"))
|
||||
self.controls["descriptor_group"].setObjectName("descriptorGroup")
|
||||
|
||||
# 名称标签和输入框
|
||||
self.controls["name_label"] = QtWidgets.QLabel(get_text("name", "名称:"))
|
||||
self.controls["name_label"] = QtWidgets.QLabel(TEXT("name", "名称:"))
|
||||
self.controls["name_label"].setObjectName("nameLabel")
|
||||
|
||||
self.controls["name_input"] = QtWidgets.QLineEdit()
|
||||
self.controls["name_input"].setObjectName("nameInput")
|
||||
|
||||
# 原型标签和下拉框
|
||||
self.controls["archetype_label"] = QtWidgets.QLabel(get_text("archetype", "原型:"))
|
||||
self.controls["archetype_label"] = QtWidgets.QLabel(TEXT("archetype", "原型:"))
|
||||
self.controls["archetype_label"].setObjectName("archetypeLabel")
|
||||
|
||||
self.controls["archetype_combo"] = QtWidgets.QComboBox()
|
||||
@@ -268,7 +262,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["archetype_combo"].addItem("african")
|
||||
|
||||
# 性别标签和下拉框
|
||||
self.controls["gender_label"] = QtWidgets.QLabel(get_text("gender", "性别:"))
|
||||
self.controls["gender_label"] = QtWidgets.QLabel(TEXT("gender", "性别:"))
|
||||
self.controls["gender_label"].setObjectName("genderLabel")
|
||||
|
||||
self.controls["gender_combo"] = QtWidgets.QComboBox()
|
||||
@@ -277,7 +271,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["gender_combo"].addItem("male")
|
||||
|
||||
# 年龄标签和输入框
|
||||
self.controls["age_label"] = QtWidgets.QLabel(get_text("age", "年龄:"))
|
||||
self.controls["age_label"] = QtWidgets.QLabel(TEXT("age", "年龄:"))
|
||||
self.controls["age_label"].setObjectName("ageLabel")
|
||||
|
||||
self.controls["age_spinner"] = QtWidgets.QSpinBox()
|
||||
@@ -287,7 +281,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["age_spinner"].setValue(24)
|
||||
|
||||
# 平移单位标签和下拉框
|
||||
self.controls["translation_unit_label"] = QtWidgets.QLabel(get_text("translation_unit", "平移单位:"))
|
||||
self.controls["translation_unit_label"] = QtWidgets.QLabel(TEXT("translation_unit", "平移单位:"))
|
||||
self.controls["translation_unit_label"].setObjectName("translationUnitLabel")
|
||||
|
||||
self.controls["translation_unit_combo"] = QtWidgets.QComboBox()
|
||||
@@ -297,7 +291,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["translation_unit_combo"].addItem("m")
|
||||
|
||||
# 旋转单位标签和下拉框
|
||||
self.controls["rotation_unit_label"] = QtWidgets.QLabel(get_text("rotation_unit", "旋转单位:"))
|
||||
self.controls["rotation_unit_label"] = QtWidgets.QLabel(TEXT("rotation_unit", "旋转单位:"))
|
||||
self.controls["rotation_unit_label"].setObjectName("rotationUnitLabel")
|
||||
|
||||
self.controls["rotation_unit_combo"] = QtWidgets.QComboBox()
|
||||
@@ -306,7 +300,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["rotation_unit_combo"].addItem("radians")
|
||||
|
||||
# 坐标系统标签和下拉框
|
||||
self.controls["coordinate_system_label"] = QtWidgets.QLabel(get_text("coordinate_system", "坐标系统:"))
|
||||
self.controls["coordinate_system_label"] = QtWidgets.QLabel(TEXT("coordinate_system", "坐标系统:"))
|
||||
self.controls["coordinate_system_label"].setObjectName("coordinateSystemLabel")
|
||||
|
||||
self.controls["coordinate_system_combo"] = QtWidgets.QComboBox()
|
||||
@@ -315,7 +309,7 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["coordinate_system_combo"].addItem("ZAxisUp")
|
||||
|
||||
# LOD数量标签和输入框
|
||||
self.controls["lod_count_label"] = QtWidgets.QLabel(get_text("lod_count", "LOD数量:"))
|
||||
self.controls["lod_count_label"] = QtWidgets.QLabel(TEXT("lod_count", "LOD数量:"))
|
||||
self.controls["lod_count_label"].setObjectName("lodCountLabel")
|
||||
|
||||
self.controls["lod_count_spinner"] = QtWidgets.QSpinBox()
|
||||
@@ -329,17 +323,17 @@ class RiggingUI(ui_utils.BaseUI):
|
||||
self.controls["bottom_buttons_panel"].setObjectName("bottomButtonsPanel")
|
||||
|
||||
# 删除所有按钮
|
||||
self.buttons["remove_all"] = QtWidgets.QPushButton(get_text("remove_all", "删除所有"))
|
||||
self.buttons["remove_all"] = QtWidgets.QPushButton(TEXT("remove_all", "删除全部"))
|
||||
self.buttons["remove_all"].setObjectName("removeAllButton")
|
||||
self.buttons["remove_all"].setIcon(ui_utils.load_icon("delete.png"))
|
||||
|
||||
# 导入骨骼按钮
|
||||
self.buttons["import_skeleton"] = QtWidgets.QPushButton(get_text("import_skeleton", "导入骨骼"))
|
||||
self.buttons["import_skeleton"] = QtWidgets.QPushButton(TEXT("import_skeleton", "导入骨骼"))
|
||||
self.buttons["import_skeleton"].setObjectName("importSkeletonButton")
|
||||
self.buttons["import_skeleton"].setIcon(ui_utils.load_icon("HIKCharacterToolSkeleton.png"))
|
||||
|
||||
# 生成绑定按钮
|
||||
self.buttons["build_rigging"] = QtWidgets.QPushButton(get_text("build_rigging", "生成绑定"))
|
||||
self.buttons["build_rigging"] = QtWidgets.QPushButton(TEXT("build_rigging", "创建绑定"))
|
||||
self.buttons["build_rigging"].setObjectName("buildRiggingButton")
|
||||
self.buttons["build_rigging"].setIcon(ui_utils.load_icon("HIKcreateControlRig.png"))
|
||||
|
||||
|
Reference in New Issue
Block a user