2017-10-19 66 views
1

我正在嘗試在Maya 2018.1中使用workspaceControl,並且在其中沒有記住它是最後的位置。我可以用手找出原因。Maya 2018.1 python workspaceControl不記得狀態

將這個腳本中的文件夾BBTest.py:

# BBTest.py 
import pymel.core as pm 

WorkspaceName = 'WorkspaceWinBoo' 

class BBTest(object): 
    def StartUI(self): 
     if pm.workspaceControl(WorkspaceName, query=True, exists=True) is False: 
      pm.workspaceControl(WorkspaceName, uiScript = 'from BBTest import curUI\ncurUI.buildUI()', closeCommand='from BBTest import curUI\ncurUI.CloseUI()') 
     else: 
      pm.workspaceControl(WorkspaceName, edit=True, restore=True) 

    def CloseUI(self): 
     if pm.workspaceControl(WorkspaceName, query=True, exists=True): 
      pm.workspaceControl(WorkspaceName, edit=True, close=True) 


    def buildUI(self): 
     WinLayout = pm.columnLayout(adjustableColumn=True) 
     pm.button(label='Do Nothing') 
     pm.button(label='Close', command=pm.Callback(self.CloseUI)) 

curUI = BBTest() 

和產卵/在你的腳本編輯器或作爲一個Python貨架按鈕使用這種方式進行恢復:

import BBTest 
BBTest.curUI.StartUI() 

這將產生一個小小的可停靠窗口。如果將它移動並停靠,然後關閉它(通過任何方式),它將不會記住它停靠的位置。它確實記得尺寸的變化。

如果您停靠它並退出Maya(在當前工作空間中啓用「自動保存工作空間」),Maya將啓動並顯示停靠的對話框,但如果因任何原因關閉它,它將重新生成浮動窗口再次。

我該如何去記住它是碼頭狀態?

+0

我可以證實我有同樣的問題。它在第一次打開時停靠,但在關閉後它僅作爲浮動窗口打開。 –

+0

Hey Green Cell,我發現一個解決方案是通過使用工作區的選項按鈕(Windows>佈局>(工作區的名稱)> []「並關閉」自動保存工作區佈局「來保存當前工作區的工具狀態。使用停靠的工具保存佈局,並在關閉後重新啓動時記住它。 –

回答

0

所以通過更正式的測試,我發現使用「closeCommand」可以防止workspaceControl記住狀態。

如果有人知道我可以在我自己的例行程序中調用以恢復該功能,我很想知道。

還有其他問題,但這取決於Autodesk的實施,除了文件錯誤之外,我無法做到這一點。