Документы Maya уже дают хороший пример того, как подключить кнопку к функции .
Как только ваша кнопка вызывает функцию при нажатии, вы можете просто проверить, существует ли объект в сцене, а затем выбрать его:
import maya.cmds as cmds
# Define a function that the button will call when clicked.
def select_obj(*args):
if cmds.objExists("ball"): # Check if there's an object in the scene called ball.
cmds.select("ball") # If it does exist, then select it.
else:
cmds.error("Unable to find ball in the scene!") # Otherwise display an error that it's missing.
# Create simple interface.
win = cmds.window(width=150)
cmds.columnLayout(adjustableColumn=True)
cmds.button(label="Select", command=select_obj) # Use command parameter to connect it to the earlier function.
cmds.showWindow(win)
Вы также можете напрямую подключить команду кнопки к cmds.select
, используя lambda
:
import maya.cmds as cmds
# Create simple interface.
win = cmds.window(width=150)
cmds.columnLayout(adjustableColumn=True)
cmds.button(label="Select", command=lambda x: cmds.select("ball")) # Use lambda to connect directly to the select method.
cmds.showWindow(win)
Но тогда у вас будет нулевая настройка того, как она обрабатывает ошибки, или если вы хотите, чтобы она делала другие вещи. Обычно придерживайтесь кнопки, запускающей функцию, если у вас нет веских причин не делать этого. Имейте в виду, что вы также можете использовать lambda
для своих собственных пользовательских функций.