Saved from https://tree.md/b/16e67c29450dd46a
#################################################
# 1.
import maya.cmds as cmds
class UI(object):
def __init__(self):
self.win = 'testUi'
def createUI(self, *args):
if cmds.window(self.win, q = True, ex = True):
# cmds.evalDeferred(lambda *args:cmds.deleteUI(self.win))
cmds.deleteUI(self.win)
cmds.window(self.win)
cmds.columnLayout(adj = True)
cmds.button(label = 'close ui', c = self.close) # partial(self.close)
cmds.button(label = 'reload ui', c = self.reload) # partial(self.reload)
# cmds.showWindow(self.win)
cmds.evalDeferred(lambda *args:cmds.showWindow(self.win))
def reload(self, *args):
# self.createUI()
cmds.evalDeferred(lambda *args: self.createUI())
print('reload done')
def close(self, *args):
cmds.evalDeferred(lambda *args:cmds.deleteUI(self.win))
print('close done')
if __name__ == '__main__':
print(u'{}.py: loaded as script file'.format(__name__))
UI().createUI()
else:
print(u'{}.py: loaded as module file'.format(__name__))
#################################################
# 2.
import maya.cmds as cmds
class UI(object):
@classmethod
def showUI(cls):
win = cls()
win.createUI()
return win
def __init__(self):
self.win = 'testUi'
def createUI(self, *args):
if cmds.window(self.win, q = True, ex = True):
# cmds.evalDeferred(lambda *args:cmds.deleteUI(self.win))
cmds.deleteUI(self.win)
cmds.window(self.win)
cmds.columnLayout(adj = True)
cmds.button(label = 'close ui', c = self.close) # partial(self.createUI)
cmds.button(label = 'reload ui', c = self.reload) # partial(self.createUI)
# cmds.showWindow(self.win)
cmds.evalDeferred(lambda *args:cmds.showWindow(self.win))
def reload(self, *args):
# self.showUI()
cmds.evalDeferred(lambda *args: self.showUI())
print('reload done')
def close(self, *args):
cmds.evalDeferred(lambda *args:cmds.deleteUI(self.win))
print('close done')
if __name__ == '__main__':
print(u'{}.py: loaded as script file'.format(__name__))
UI.showUI()
else:
print(u'{}.py: loaded as module file'.format(__name__))