window命令可以创建一个新的窗口,但是不显示它。需要使用showWindow命令显示。注意:如果窗口需要一些控件布局来布置控件(buttons按钮,sliders滑块,fields字段等),控制布局的命令,例如columnLayout,formLayout,rowLayout等。
maya实例:
1、创建一个新的窗口。
import maya.cmds as cmds # Make a new window # window = cmds.window( title="Long Name", iconName='Short Name', widthHeight=(200, 55) ) cmds.columnLayout( adjustableColumn=True ) cmds.button( label='Do Nothing' ) cmds.button( label='Close', command=('cmds.deleteUI("' + window + '", window=True)') ) cmds.setParent( '..' ) cmds.showWindow( window )
2、调整maya主窗口大小。
# Resize the main window 调整maya主窗口 # # This is a workaround to get MEL global variable value in Python #这是Python得到MEL全局变量值的方法 gMainWindow = maya.mel.eval('$tmpVar=$gMainWindow') cmds.window( gMainWindow, edit=True, widthHeight=(900, 777) )
3、创建一个窗口,并关掉此窗口。
注意:如果字符串‘GUI’没有,print win出来的是window1,反复执行showWindow以上的代码,会返回window2、window3……,它没有唯一性。加入了字符串'GUI'后,就定义了这个窗口在后台的名字叫GUI,具有了唯一性。
# coding=utf-8 import maya.cmds as cmds #创建一个名叫GUI的窗口,标题为‘自定义’ # win = cmds.window('GUI',title='自定义' ) print win cmds.showWindow() #关闭窗口 cmds.deleteUI(win)
4、删除窗口,再次新建此窗口。
两种方法,一种是先判断窗口是否存在,如果存在则关闭窗口。然后重新创建此窗口。
另一种方法是,无论有没有,直接尝试删除GUI窗口,如果没有就跳过。再执行创建GUI窗口。
# coding=utf-8 import maya.cmds as cmds #如果GUI窗口存在,则删除GUI窗口 # if cmds.window('GUI' , exists = True ): cmds.deleteUI('GUI') win = cmds.window('GUI',title='自定义' ) cmds.showWindow()
# coding=utf-8 import maya.cmds as cmds #尝试删除GUI的窗口,如果没有就跳过。 # try: cmds.deleteUI('GUI') except: pass win = cmds.window('GUI',title='自定义' ) cmds.showWindow()