【问题标题】:Maya Python - Change Button Icon Based On Active CommandMaya Python - 基于活动命令更改按钮图标
【发布时间】:2017-04-17 17:05:04
【问题描述】:

使用 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')

总的来说,我对脚本和逻辑还是很陌生,只是无法理解它。

【问题讨论】:

    标签: python button icons menuitem maya


    【解决方案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 标志来编辑或查询它们。

    【讨论】:

    • 如果您不介意,还有一件事。现在iconTextbutton 将显示选定的menuItem,我将如何设置它以便iconTextButton 根据当前选定的menuItem 更改其默认命令。我想这只是我现在所拥有的一小步,没有找到任何参考。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2013-08-19
    相关资源
    最近更新 更多