Files
Nexus/2023/scripts/rigging_tools/ngskintools2/ui/model_binds.py
2025-11-24 08:27:50 +08:00

23 lines
567 B
Python

from ngSkinTools2 import signal
from ngSkinTools2.api.pyside import QtWidgets
from ngSkinTools2.ui import qt, widgets
def bind(ui, model):
if isinstance(ui, QtWidgets.QCheckBox):
ui.setChecked(model())
@qt.on(ui.stateChanged)
def update_model():
model.set(ui.isChecked())
elif isinstance(ui, widgets.NumberSliderGroup):
ui.set_value(model())
@signal.on(ui.valueChanged)
def update_model():
model.set(ui.value())
else:
raise Exception("could not bind control to model")