Update
This commit is contained in:
@@ -88,49 +88,42 @@ class ToolbarUI(ui_utils.BaseUI):
|
||||
self.controls["toolbar_frame"].setFrameShadow(QtWidgets.QFrame.Raised)
|
||||
|
||||
# 创建工具栏按钮
|
||||
# 第一行按钮
|
||||
self.buttons["new_file"] = self._create_tool_button("新建文件", ":/icons/new_file.png")
|
||||
self.buttons["open_file"] = self._create_tool_button("打开文件", ":/icons/open_file.png")
|
||||
self.buttons["link_file"] = self._create_tool_button("链接文件", ":/icons/link_file.png")
|
||||
self.buttons["unlink_file"] = self._create_tool_button("取消链接", ":/icons/unlink_file.png")
|
||||
self.buttons["import_file"] = self._create_tool_button("导入文件", ":/icons/import_file.png")
|
||||
self.buttons["export_file"] = self._create_tool_button("导出文件", ":/icons/export_file.png")
|
||||
self.buttons["save_file"] = self._create_tool_button("保存文件", ":/icons/save_file.png")
|
||||
self.buttons["user_info"] = self._create_tool_button("用户信息", ":/icons/user_info.png")
|
||||
self.buttons["help"] = self._create_tool_button("帮助", ":/icons/help.png")
|
||||
self.buttons["settings"] = self._create_tool_button("设置", ":/icons/settings.png")
|
||||
self.buttons["print"] = self._create_tool_button("打印", ":/icons/print.png")
|
||||
# DNA相关按钮
|
||||
self.buttons["Save DNA"] = self._create_tool_button("保存DNA", "save.png")
|
||||
self.buttons["Open DNA"] = self._create_tool_button("打开DNA", "open.png")
|
||||
|
||||
# 第二行按钮和下拉框
|
||||
self.buttons["model_view"] = self._create_tool_button("模型视图", ":/icons/model_view.png", checkable=True)
|
||||
self.buttons["model_view"].setChecked(True)
|
||||
self.buttons["definition_view"] = self._create_tool_button("定义视图", ":/icons/definition_view.png", checkable=True)
|
||||
self.buttons["table_view"] = self._create_tool_button("表格视图", ":/icons/table_view.png", checkable=True)
|
||||
self.buttons["define_view"] = self._create_tool_button("自定义视图", ":/icons/define_view.png", checkable=True)
|
||||
# RL4节点相关按钮
|
||||
self.buttons["Create RL4 node"] = self._create_tool_button("创建RL4节点", "create_rl4_node.png")
|
||||
self.buttons["Delete RL4 node"] = self._create_tool_button("删除RL4节点", "delete_rl4_node.png")
|
||||
|
||||
# 下拉框
|
||||
self.controls["model_combo"] = QtWidgets.QComboBox()
|
||||
self.controls["model_combo"].setObjectName("modelCombo")
|
||||
self.controls["model_combo"].addItem("MetaHuman")
|
||||
self.controls["model_combo"].setMinimumWidth(120)
|
||||
# 蒙皮相关按钮
|
||||
self.buttons["Import skin"] = self._create_tool_button("导入蒙皮", "import_skin.png")
|
||||
self.buttons["Export skin"] = self._create_tool_button("导出蒙皮", "export_skin.png")
|
||||
self.buttons["Copy skin"] = self._create_tool_button("复制蒙皮", "copy_skin.png")
|
||||
|
||||
# 帮助按钮
|
||||
self.buttons["help_button"] = QtWidgets.QPushButton()
|
||||
self.buttons["help_button"].setIcon(QtGui.QIcon(":/icons/question.png"))
|
||||
self.buttons["help_button"].setObjectName("helpButton")
|
||||
self.buttons["help_button"].setFixedSize(24, 24)
|
||||
self.buttons["help_button"].setToolTip(LANG.get("help_tooltip", "帮助"))
|
||||
self.buttons["Help"] = self._create_tool_button("帮助", "help.png")
|
||||
|
||||
def _create_tool_button(self, tooltip, icon_path, checkable=False):
|
||||
def _create_tool_button(self, tooltip, icon_name, checkable=False):
|
||||
"""
|
||||
创建工具栏按钮
|
||||
参数:
|
||||
tooltip: 按钮提示文字
|
||||
icon_name: 图标文件名,不包含路径
|
||||
checkable: 是否可选中
|
||||
"""
|
||||
button = QtWidgets.QPushButton()
|
||||
button.setToolTip(LANG.get(tooltip, tooltip))
|
||||
# 尝试设置图标,如果图标文件不存在则使用文字
|
||||
if os.path.exists(icon_path.replace(":/icons/", f"{ICONS_PATH}/")):
|
||||
|
||||
# 构建图标完整路径
|
||||
icon_path = os.path.join(ICONS_PATH, icon_name)
|
||||
|
||||
# 尝试设置图标,如果图标文件存在
|
||||
if os.path.exists(icon_path):
|
||||
button.setIcon(QtGui.QIcon(icon_path))
|
||||
button.setIconSize(QtCore.QSize(24, 24))
|
||||
else:
|
||||
# 如果图标不存在,使用文字
|
||||
button.setText(LANG.get(tooltip, tooltip))
|
||||
|
||||
button.setObjectName(f"{tooltip.replace(' ', '_').lower()}_button")
|
||||
@@ -157,40 +150,48 @@ class ToolbarUI(ui_utils.BaseUI):
|
||||
self.layouts["toolbar_layout"].setContentsMargins(5, 5, 5, 5)
|
||||
self.layouts["toolbar_layout"].setSpacing(2)
|
||||
|
||||
# 第一行按钮布局
|
||||
self.layouts["toolbar_row1"] = QtWidgets.QHBoxLayout()
|
||||
self.layouts["toolbar_row1"].setSpacing(2)
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["new_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["open_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["link_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["unlink_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self._create_separator())
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["import_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["export_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["save_file"])
|
||||
self.layouts["toolbar_row1"].addWidget(self._create_separator())
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["user_info"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["help"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["settings"])
|
||||
self.layouts["toolbar_row1"].addWidget(self.buttons["print"])
|
||||
self.layouts["toolbar_row1"].addStretch()
|
||||
|
||||
# 第二行按钮布局
|
||||
self.layouts["toolbar_row2"] = QtWidgets.QHBoxLayout()
|
||||
self.layouts["toolbar_row2"].setSpacing(2)
|
||||
self.layouts["toolbar_row2"].addWidget(self.buttons["model_view"])
|
||||
self.layouts["toolbar_row2"].addWidget(self.buttons["definition_view"])
|
||||
self.layouts["toolbar_row2"].addWidget(self.buttons["table_view"])
|
||||
self.layouts["toolbar_row2"].addWidget(self.buttons["define_view"])
|
||||
self.layouts["toolbar_row2"].addWidget(self._create_separator())
|
||||
self.layouts["toolbar_row2"].addWidget(self.controls["model_combo"])
|
||||
self.layouts["toolbar_row2"].addStretch()
|
||||
self.layouts["toolbar_row2"].addWidget(self.buttons["help_button"])
|
||||
# 按钮布局
|
||||
self.layouts["toolbar"] = QtWidgets.QHBoxLayout()
|
||||
self.layouts["toolbar"].setSpacing(2)
|
||||
self.layouts["toolbar"].addWidget(self.buttons["Save DNA"])
|
||||
self.layouts["toolbar"].addWidget(self.buttons["Open DNA"])
|
||||
self.layouts["toolbar"].addWidget(self._create_separator())
|
||||
self.layouts["toolbar"].addWidget(self.buttons["Create RL4 node"])
|
||||
self.layouts["toolbar"].addWidget(self.buttons["Delete RL4 node"])
|
||||
self.layouts["toolbar"].addWidget(self._create_separator())
|
||||
self.layouts["toolbar"].addWidget(self.buttons["Import skin"])
|
||||
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["Help"])
|
||||
self.layouts["toolbar"].addStretch()
|
||||
|
||||
# 添加行到工具栏布局
|
||||
self.layouts["toolbar_layout"].addLayout(self.layouts["toolbar_row1"])
|
||||
self.layouts["toolbar_layout"].addLayout(self.layouts["toolbar_row2"])
|
||||
|
||||
self.layouts["toolbar_layout"].addLayout(self.layouts["toolbar"])
|
||||
|
||||
#======================================= CONNECTION =====================================
|
||||
def create_connections(self):
|
||||
"""
|
||||
连接信号和槽
|
||||
设置UI控件的交互行为
|
||||
"""
|
||||
# DNA相关按钮连接
|
||||
self.buttons["Save DNA"].clicked.connect(utils_toolbar.save_dna)
|
||||
self.buttons["Open DNA"].clicked.connect(utils_toolbar.open_dna)
|
||||
|
||||
# RL4节点相关按钮连接
|
||||
self.buttons["Create RL4 node"].clicked.connect(utils_toolbar.create_rl4_node)
|
||||
self.buttons["Delete RL4 node"].clicked.connect(utils_toolbar.delete_rl4_node)
|
||||
|
||||
# 蒙皮相关按钮连接
|
||||
self.buttons["Import skin"].clicked.connect(utils_toolbar.import_skin)
|
||||
self.buttons["Export skin"].clicked.connect(utils_toolbar.export_skin)
|
||||
self.buttons["Copy skin"].clicked.connect(utils_toolbar.copy_skin)
|
||||
|
||||
# 帮助按钮连接
|
||||
self.buttons["Help"].clicked.connect(utils_toolbar.show_help)
|
||||
|
||||
#======================================== FUNCTIONS ======================================
|
||||
def _create_separator(self):
|
||||
"""
|
||||
创建分隔线
|
||||
@@ -202,34 +203,4 @@ class ToolbarUI(ui_utils.BaseUI):
|
||||
separator.setFixedHeight(24)
|
||||
return separator
|
||||
|
||||
#======================================= CONNECTION =====================================
|
||||
def create_connections(self):
|
||||
"""
|
||||
连接信号和槽
|
||||
设置UI控件的交互行为
|
||||
"""
|
||||
# 第一行按钮连接
|
||||
self.buttons["new_file"].clicked.connect(utils_toolbar.new_file)
|
||||
self.buttons["open_file"].clicked.connect(utils_toolbar.open_file)
|
||||
self.buttons["link_file"].clicked.connect(utils_toolbar.link_file)
|
||||
self.buttons["unlink_file"].clicked.connect(utils_toolbar.unlink_file)
|
||||
self.buttons["import_file"].clicked.connect(utils_toolbar.import_file)
|
||||
self.buttons["export_file"].clicked.connect(utils_toolbar.export_file)
|
||||
self.buttons["save_file"].clicked.connect(utils_toolbar.save_file)
|
||||
self.buttons["user_info"].clicked.connect(utils_toolbar.show_user_info)
|
||||
self.buttons["help"].clicked.connect(utils_toolbar.show_help)
|
||||
self.buttons["settings"].clicked.connect(utils_toolbar.show_settings)
|
||||
self.buttons["print"].clicked.connect(utils_toolbar.print_file)
|
||||
|
||||
# 第二行按钮连接
|
||||
self.buttons["model_view"].clicked.connect(lambda: utils_toolbar.change_view("model"))
|
||||
self.buttons["definition_view"].clicked.connect(lambda: utils_toolbar.change_view("definition"))
|
||||
self.buttons["table_view"].clicked.connect(lambda: utils_toolbar.change_view("table"))
|
||||
self.buttons["define_view"].clicked.connect(lambda: utils_toolbar.change_view("define"))
|
||||
|
||||
# 下拉框连接
|
||||
self.controls["model_combo"].currentIndexChanged.connect(utils_toolbar.model_changed)
|
||||
|
||||
# 帮助按钮连接
|
||||
self.buttons["help_button"].clicked.connect(utils_toolbar.show_help)
|
||||
|
Reference in New Issue
Block a user