【问题标题】:Maya – How to reorder Shelves alphabetically?Maya – 如何按字母顺序重新排列货架?
【发布时间】:2020-06-01 07:40:09
【问题描述】:

我正在尝试按字母顺序排列 Maya 书架。我知道我可以按顺序导入架子,但我想在导入架子后执行此操作,因为默认的 Maya 架子会自动导入 Maya。

我尝试在shelfLayout命令中使用位置参数,但我不确定它是否正确,或者是否正确,那么我不知道如何使用它。如果有人能对此有所了解,那就太棒了。

【问题讨论】:

    标签: python maya mel


    【解决方案1】:

    查看以下代码 sn-p 了解如何按字母顺序重新排列货架标签:

    import maya.cmds as cmds
    import maya.mel as mel
    
    def reorderTabsAlphabetically():
    
        gshelf = mel.eval("$temp = $gShelfTopLevel")
        shelves = cmds.tabLayout(gshelf, q=1, childArray=1)
    
        total = len(shelves)   
        pref = 'abc' 
        print(total)                                                   # 16 tabs
    
        shelf = sorted([s for s in shelves if s.startswith(pref)]) +   # line break
                sorted([s for s in shelves if not s.startswith(pref)])
    
        for i, object in enumerate(shelf):
            i += 1
            sIndex = cmds.tabLayout(gshelf, q=1, childArray=1).index(object) + 1
            cmds.tabLayout(gshelf, e=1, moveTab=(sIndex, i))
    
    reorderTabsAlphabetically()
    

    如您所见,所有选项卡现在都按升序排列(按字母顺序)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-19
      • 2020-03-29
      • 1970-01-01
      • 2019-03-30
      相关资源
      最近更新 更多