maya里怎么用mel和python写动态 button,简单来说就是用一个按钮控制另一个按钮的显示与隐藏,谢谢

要mel和python的两种语言的。例如:importmaya.cmdsasmcwin=mc.window()mc.columnLayout(adjustableColu... 要mel和python的两种语言的。
例如:
import maya.cmds as mc
win=mc.window()
mc.columnLayout( adjustableColumn=True )
btn1=mc.button(l="按钮开",c='')
btn2=mc.button(l="按钮2",c='‘)
mc.showWindow(win)
我想用按钮2点击一下改变按钮1的文本,使按钮1的按钮开变成按钮关。
展开
 我来答
zhoujunjiezhjj
2011-11-14 · TA获得超过557个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:260万
展开全部
python的脚本如下

import maya.cmds as mc
win=mc.window()
mc.columnLayout( adjustableColumn = True )
btn1=mc.button(l="按钮开",c='')
btn2=mc.button(l="按钮2",c='mc.button(btn1,e = 1,l = "按钮关")')
mc.showWindow(win)

mel的脚本如下

window;
columnLayout -adj 1;
button -l "按钮开" -c "" btn1;
button -l "按钮2" -c "button -e -l \"按钮关\" btn1";
showWindow;

其实还可以写成函数来调用
python函数如下

import maya.cmds as mc
win=mc.window()
mc.columnLayout( adjustableColumn = True )
btn1=mc.button(l="按钮开",c='')
btn2=mc.button(l="按钮2",c = 'change()')
mc.showWindow(win)
def change():
btn = mc.button(btn1,q = 1,l = 1)
if btn == '按钮开':
mc.button(btn1,e = 1,l = '按钮关')
if btn == '按钮关':
mc.button(btn1,e = 1,l = '按钮开')

mel函数如下

window;
columnLayout -adj 1;
button -l "按钮开" -c "" btn1;
button -l "按钮2" -c "btn1";
showWindow;

proc btn1(){
string $btn1 = `button -q -l btn1`;
if($btn1 == "按钮开"){
button -e -l "按钮关" btn1;
}
if($btn1 == "按钮关"){
button -e -l "按钮开" btn1;
}
}
追问
谢谢你的答案,我还有个问题maya里的button能不能支持鼠标热区,就是当鼠标移动到按钮上时可改变按钮状态。要用那个函数实现,谢谢,给分
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式