Maya Python - 基于活动命令更改按钮图标

时间:2017-04-17 17:05:05

标签: python button icons menuitem maya

与maya 16合作

我确实有iconTextButton设置,其中popupMenu包含多个menuItem,其中每个menuItem都带有一个图标。我希望父级iconTextButton根据menuItem当前处于活动状态显示menuItem图标。

这是我目前的设置:

cmds.iconTextButton( style='iconAndTextHorizontal', image1='MainButton.png', h=40,w=100, bgc=[0.35, 0.35, 0.35], label='Open Submenu Pallet')

def someImportantFunction (*args):
    somethingImportant

cmds.popupMenu(b=1)
cmds.menuItem(label='do Something', command=someImportantFunction, image1='subMenuIconToChangeTo.png')

我对脚本和逻辑一般都很陌生,只是无法理解它。

1 个答案:

答案 0 :(得分:1)

您可以在编辑菜单命令时编辑原始按钮以更改其外观:

window = cmds.window(title='example')
layout = cmds.columnLayout(adj=True)
ict = cmds.iconTextButton( style='iconAndTextHorizontal', image1='MainButton.png', h=40,w=100, bgc=[0.35, 0.35, 0.35], label='Open Submenu Pallet')
popup = cmds.popupMenu(b=1)

def something(*_):
    print "something" # real work goes here
    cmds.iconTextButton(ict, e=True, label = 'something')

def something_else(*_):
    print "something else"
    cmds.iconTextButton(ict, e=True, label = 'something else')

cmds.menuItem(label='something', image1='somethingIcon', c= something)
cmds.menuItem(label='something else', image1='otherIcon', c=something_else)
cmds.setParent("..")
cmds.showWindow(window)

关键是要确保挂起对您创建的小部件的引用,以便您可以使用gui项目的e=Trueq=True标记来编辑或查询它们。