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()