Update
This commit is contained in:
parent
a274217da5
commit
9f91ea8e56
14
README.md
14
README.md
@ -323,7 +323,7 @@ Reference\UI\17_Definitions.jpg
|
|||||||
|
|
||||||
- 搜索过滤
|
- 搜索过滤
|
||||||
- BlendShape列表
|
- BlendShape列表
|
||||||
- 恢复表情按钮;- 混合筛选按钮
|
- 恢复表情按钮(icons\restore.png);- 混合筛选按钮(icons\blendRaw.png)
|
||||||
- 全部按钮,2按钮,3按钮,4按钮,5按钮,6按钮
|
- 全部按钮,2按钮,3按钮,4按钮,5按钮,6按钮
|
||||||
- 范围控制(0.010),滑块,勾选框(未勾选), 文字"全部"
|
- 范围控制(0.010),滑块,勾选框(未勾选), 文字"全部"
|
||||||
- 范围+按钮,范围-按钮
|
- 范围+按钮,范围-按钮
|
||||||
@ -332,18 +332,18 @@ Reference\UI\17_Definitions.jpg
|
|||||||
|
|
||||||
- 关联BlendShape列表
|
- 关联BlendShape列表
|
||||||
- 范围控制(0.000),滑块,勾选框(未勾选), 文字"全部"
|
- 范围控制(0.000),滑块,勾选框(未勾选), 文字"全部"
|
||||||
- 翻转目标 - 镜像目标 - 查找翻转目标
|
- 翻转目标(icons\flip.png) - 镜像目标(icons\mirror.png) - 查找翻转目标(icons\mirrorR.png)
|
||||||
- 添加混合目标 - 删除混合目标 - 批量混合目标
|
- 添加混合目标(:locator.png) - 删除混合目标(icons\delete.png) - 批量混合目标(icons\batch.png)
|
||||||
- 重建混合目标 - 重建所有混合目标
|
- 重建混合目标(:locator.png) - 重建所有混合目标(icons\rebuildAll.png)
|
||||||
- 范围控制(0.010),滑块,勾选框(未勾选), 文字"全部"
|
- 范围控制(0.010),滑块,勾选框(未勾选), 文字"全部"
|
||||||
- 范围+按钮,范围-按钮
|
- 范围+按钮,范围-按钮
|
||||||
|
|
||||||
####### 功能按钮
|
####### 功能按钮(在行为视图的底部)
|
||||||
|
|
||||||
- 第一行 :PSD - BSE - KEY - MIR - ARK - CTR
|
- 第一行 :PSD - BSE - KEY - MIR - ARK - CTR
|
||||||
- 第二行 :范围控制(0.000),滑块,"+"按钮, 勾选框(未勾选), 文字"全部"
|
- 第二行 :范围控制(0.000),滑块,"+"按钮, 勾选框(未勾选), 文字"全部"
|
||||||
- 第三行 按钮:还原默认表情;查找选择表情;写入当前表情
|
- 第三行 按钮:还原默认表情(icons\rest.png);查找选择表情(icons\expressions_current.png);写入当前表情(icons\expression.png)
|
||||||
- 第四行 按钮:控制面板查找;选择关联关节;写入镜像表情
|
- 第四行 按钮:控制面板查找(icons\controller.png);选择关联关节(icons\kinjoint.png);写入镜像表情(icons\ctrl_hide.png)
|
||||||
|
|
||||||
###### 4. 定义视图 (Definition)
|
###### 4. 定义视图 (Definition)
|
||||||
|
|
||||||
|
@ -242,28 +242,24 @@ class BehaviourTab(QtWidgets.QWidget):
|
|||||||
# === 底部功能区域 ===
|
# === 底部功能区域 ===
|
||||||
self.bottom_widget = QtWidgets.QWidget()
|
self.bottom_widget = QtWidgets.QWidget()
|
||||||
self.bottom_layout = QtWidgets.QVBoxLayout(self.bottom_widget)
|
self.bottom_layout = QtWidgets.QVBoxLayout(self.bottom_widget)
|
||||||
self.bottom_layout.setContentsMargins(4, 0, 4, 0)
|
self.bottom_layout.setContentsMargins(4, 6, 4, 6)
|
||||||
self.bottom_layout.setSpacing(0)
|
self.bottom_layout.setSpacing(4)
|
||||||
|
|
||||||
# 设置底部功能区的固定高度
|
# 设置底部功能区的固定高度
|
||||||
self.bottom_widget.setFixedHeight(88)
|
self.bottom_widget.setFixedHeight(140) # 继续增加高度
|
||||||
|
|
||||||
# 先创建所有控件
|
# 先创建第二行需要的控件
|
||||||
# 创建SpinBox
|
|
||||||
self.bottom_spin = QtWidgets.QDoubleSpinBox()
|
self.bottom_spin = QtWidgets.QDoubleSpinBox()
|
||||||
self.bottom_spin.setValue(0.000)
|
self.bottom_spin.setValue(0.000)
|
||||||
self.bottom_spin.setDecimals(3)
|
self.bottom_spin.setDecimals(3)
|
||||||
self.bottom_spin.setFixedWidth(60)
|
self.bottom_spin.setFixedWidth(60)
|
||||||
self.bottom_spin.setFixedHeight(20)
|
self.bottom_spin.setFixedHeight(24)
|
||||||
|
|
||||||
# 创建Slider
|
|
||||||
self.bottom_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
|
self.bottom_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal)
|
||||||
self.bottom_slider.setRange(0, 100)
|
self.bottom_slider.setRange(0, 100)
|
||||||
self.bottom_slider.setValue(0)
|
self.bottom_slider.setValue(0)
|
||||||
self.bottom_slider.setFixedHeight(16)
|
self.bottom_slider.setFixedHeight(16)
|
||||||
|
self.bottom_slider.setStyleSheet("""
|
||||||
# 设置滑块样式
|
|
||||||
slider_style = """
|
|
||||||
QSlider::groove:horizontal {
|
QSlider::groove:horizontal {
|
||||||
height: 3px;
|
height: 3px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
@ -273,31 +269,38 @@ class BehaviourTab(QtWidgets.QWidget):
|
|||||||
height: 8px;
|
height: 8px;
|
||||||
margin: -3px 0;
|
margin: -3px 0;
|
||||||
}
|
}
|
||||||
"""
|
""")
|
||||||
self.bottom_slider.setStyleSheet(slider_style)
|
|
||||||
|
|
||||||
# 然后创建功能按钮区域
|
# 然后创建四行的容器
|
||||||
for i in range(1, 5):
|
for i in range(1, 5):
|
||||||
widget_name = f'func_widget{i}'
|
widget_name = f'func_widget{i}'
|
||||||
layout_name = f'func_layout{i}'
|
layout_name = f'func_layout{i}'
|
||||||
|
|
||||||
widget = QtWidgets.QWidget()
|
widget = QtWidgets.QWidget()
|
||||||
widget.setFixedHeight(22)
|
widget.setFixedHeight(28) # 继续增加每行高度
|
||||||
|
|
||||||
layout = QtWidgets.QHBoxLayout(widget)
|
layout = QtWidgets.QHBoxLayout(widget)
|
||||||
layout.setContentsMargins(0, 0, 0, 0)
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
layout.setSpacing(2)
|
layout.setSpacing(4)
|
||||||
|
|
||||||
setattr(self, widget_name, widget)
|
setattr(self, widget_name, widget)
|
||||||
setattr(self, layout_name, layout)
|
setattr(self, layout_name, layout)
|
||||||
|
|
||||||
# 调整所有按钮的高度
|
# 调整按钮高度
|
||||||
for btn in self.findChildren(QtWidgets.QPushButton):
|
for btn in self.findChildren(QtWidgets.QPushButton):
|
||||||
btn.setFixedHeight(20)
|
btn.setFixedHeight(24) # 增加按钮高度
|
||||||
|
|
||||||
# 功能按钮 - 第一行
|
# 功能按钮 - 第一行
|
||||||
for text in ["PSD", "BSE", "KEY", "MIR", "ARK", "CTR"]:
|
for text, icon in [
|
||||||
|
("PSD", ":positionConstraint.png"),
|
||||||
|
("BSE", ":blendShape.png"),
|
||||||
|
("KEY", ":key.png"),
|
||||||
|
("MIR", ":mirrorCurve.png"),
|
||||||
|
("ARK", ":arcLengthDimension.png"),
|
||||||
|
("CTR", ":control.png")
|
||||||
|
]:
|
||||||
btn = QtWidgets.QPushButton(text)
|
btn = QtWidgets.QPushButton(text)
|
||||||
|
btn.setIcon(QtGui.QIcon(icon))
|
||||||
btn.setFixedWidth(40)
|
btn.setFixedWidth(40)
|
||||||
self.func_layout1.addWidget(btn)
|
self.func_layout1.addWidget(btn)
|
||||||
self.func_layout1.addStretch()
|
self.func_layout1.addStretch()
|
||||||
@ -315,22 +318,31 @@ class BehaviourTab(QtWidgets.QWidget):
|
|||||||
self.func_layout2.addWidget(bottom_check)
|
self.func_layout2.addWidget(bottom_check)
|
||||||
self.func_layout2.addWidget(bottom_label)
|
self.func_layout2.addWidget(bottom_label)
|
||||||
|
|
||||||
# 功能按钮 - 第三行和第四行使用更紧凑的布局
|
# 功能按钮 - 第三行
|
||||||
self.restore_default_btn = QtWidgets.QPushButton("还原默认表情")
|
self.restore_default_btn = QtWidgets.QPushButton("还原默认表情")
|
||||||
|
self.restore_default_btn.setIcon(QtGui.QIcon(":reset.png"))
|
||||||
|
self.func_layout3.addWidget(self.restore_default_btn)
|
||||||
|
|
||||||
self.find_select_btn = QtWidgets.QPushButton("查找选择表情")
|
self.find_select_btn = QtWidgets.QPushButton("查找选择表情")
|
||||||
|
self.find_select_btn.setIcon(QtGui.QIcon(":find.png"))
|
||||||
|
self.func_layout3.addWidget(self.find_select_btn)
|
||||||
|
|
||||||
self.write_current_btn = QtWidgets.QPushButton("写入当前表情")
|
self.write_current_btn = QtWidgets.QPushButton("写入当前表情")
|
||||||
|
self.write_current_btn.setIcon(QtGui.QIcon(":save.png"))
|
||||||
|
self.func_layout3.addWidget(self.write_current_btn)
|
||||||
|
|
||||||
for btn in [self.restore_default_btn, self.find_select_btn, self.write_current_btn]:
|
# 功能按钮 - 第四行
|
||||||
btn.setFixedHeight(24)
|
|
||||||
self.func_layout3.addWidget(btn)
|
|
||||||
|
|
||||||
self.find_panel_btn = QtWidgets.QPushButton("控制面板查找")
|
self.find_panel_btn = QtWidgets.QPushButton("控制面板查找")
|
||||||
self.select_joint_btn = QtWidgets.QPushButton("选择关联关节")
|
self.find_panel_btn.setIcon(QtGui.QIcon(":menuIconWindow.png"))
|
||||||
self.write_mirror_btn = QtWidgets.QPushButton("写入镜像表情")
|
self.func_layout4.addWidget(self.find_panel_btn)
|
||||||
|
|
||||||
for btn in [self.find_panel_btn, self.select_joint_btn, self.write_mirror_btn]:
|
self.select_joint_btn = QtWidgets.QPushButton("选择关联关节")
|
||||||
btn.setFixedHeight(24)
|
self.select_joint_btn.setIcon(QtGui.QIcon(":kinJoint.png"))
|
||||||
self.func_layout4.addWidget(btn)
|
self.func_layout4.addWidget(self.select_joint_btn)
|
||||||
|
|
||||||
|
self.write_mirror_btn = QtWidgets.QPushButton("写入镜像表情")
|
||||||
|
self.write_mirror_btn.setIcon(QtGui.QIcon(":mirrorSkinWeight.png"))
|
||||||
|
self.func_layout4.addWidget(self.write_mirror_btn)
|
||||||
|
|
||||||
# 添加到底部布局
|
# 添加到底部布局
|
||||||
self.bottom_layout.addWidget(self.func_widget1)
|
self.bottom_layout.addWidget(self.func_widget1)
|
||||||
|
Loading…
Reference in New Issue
Block a user