我是Python编程的新手,在Maya中需要帮助。
因此,我试图用一个按钮创建一个UI,该按钮在我的Maya场景中选择一个名为"big"
的对象,但是我无法使其正常工作。如何在按钮ball_btn
上添加选择命令?
我尝试将cmds.select("ball")
插入按钮,但是没有运气。
谢谢!
ball_btn = mc.button(label = “”, w = 50, h = 30, bgc = [1.000,0.594,0.064])
答案 0 :(得分:1)
Maya文档已经为您提供了有关如何连接button to a function的好例子。
单击按钮后触发按钮的功能,您可以简单地检查场景中是否存在对象,然后选择它:
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
用于自己的自定义函数。