Maya 2018.1 python workspaceControl不记得状态
Posted
技术标签:
【中文标题】Maya 2018.1 python workspaceControl不记得状态【英文标题】:Maya 2018.1 python workspaceControl not remembering State 【发布时间】:2017-10-19 00:14:59 【问题描述】:我正在尝试在 Maya 2018.1 中使用 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 将启动并显示停靠的对话框,但如果您出于任何原因关闭它,它将再次作为浮动窗口重新生成.
如何让它记住它的停靠状态?
【问题讨论】:
我可以确认我遇到了同样的问题。它在第一次打开时停靠,但在关闭后仅作为浮动窗口打开。 嘿,绿色单元格,我发现一个解决方案是使用工作区的选项按钮(Windows > 布局>(工作区名称)> []" 并关闭来保存当前工作区的工具状态“自动保存工作区布局”。将您的布局与停靠的工具一起保存,并在关闭后重新启动时记住。 【参考方案1】:所以通过更正式的测试,我发现使用“closeCommand”可以防止workspaceControl记住状态。
如果有人知道我可以在我自己的关闭例程中调用什么来恢复该功能,我很想知道。
还有其他问题,但这取决于 Autodesk 的实施,除了文件错误,我无能为力。
【讨论】:
以上是关于Maya 2018.1 python workspaceControl不记得状态的主要内容,如果未能解决你的问题,请参考以下文章
python [Maya Python]添加vectorArray属性
python 使用Python的Autodesk Maya热键