首次在新场景中加载窗口时,它会打开两个窗口

时间:2015-09-18 00:47:32

标签: python import reload maya

我有这个代码.....

import sys
sys.path.insert(0, '...')

import rotTool
reload(rotTool)
rotTool()

第一次将它加载到maya我有两个窗口。我意识到这是因为那里的重新加载,但没有它,如果你关闭窗口并需要重新打开(在同一个会话中)它将无法加载。我该如何解决这个问题?

提前致谢

1 个答案:

答案 0 :(得分:0)

让我们在rotTool.py里面说它看起来像这样:

QWidget

它是一个继承自PySide的类,当你调用run函数时,它会打开一个窗口并显示它。也许您没有使用import rotTool # Import module myWin = rotTool.RotTool() # Create an instance of the class myWin.run() # Call the instance's run method to open it up ,但同样的想法应该适用。

在Maya中,如果我需要打开此窗口,我执行:

run()

如果我关闭窗口,我可以再次执行最后两行来创建一个打开窗口的新实例。可能会有更多的东西,比如确保2个窗口不能同时打开,但这就是我通常要做的事情。

我不确定你的模块中有什么,所以很难给出具体的建议。您可能只需要将其包裹在函数中,而不是在脚本底部打开窗口,就像我的import示例一样,这样它就不会在reload或者0 % 2上自动打开0。希望有所帮助!