pymel.core.windows.window¶
- window(*args, **kwargs)¶
This command creates a new window but leaves it invisible. It is most efficient to add the window’s elements and then make it visible with the showWindow command. The window can have an optional menu bar. Also, the title bar and minimize/maximize buttons can be turned on or off. If the title bar is off, then you cannot have minimize or maximize buttons. Note: The window will require a control layout of some kind to arrange the controls (buttons, sliders, fields, etc.). Examples of control layouts are columnLayout, formLayout, rowLayout, etc. Note: This command will clear the uiTemplate stack. Templates for a window need to be set after the window cmd.
Flags:
Long Name / Short Name Argument Types Properties backgroundColor / bgc float, float, float The background color of the window. The arguments correspond to the red, green, and blue color components. Each component ranges in value from 0.0 to 1.0. closeCommand / cc script Script executed after the window is closed. defineTemplate / dt unicode Puts the command in a mode where any other flags and args are parsed and added to the command template specified in the argument. They will be used as default arguments in any subsequent invocations of the command when templateName is set as the current template. docTag / dtg unicode Attach a tag to the window. dockCorner / dc unicode, unicode Specifies which docking areas occupied the four different corners of the window. By default docking windows on the bottom or top will span the whole window. Use multiple instances of this flag to allow the left and right docking areas to occupy the corners. This method has two arguments: docking corner and docking area. Possible values for docking corner are topLeft, topRight, bottomLeft, and bottomRight. Possible values for docking area are left, right, top, and bottom. dockStation / ds bool When set this flag specifies that this window can contain other docked sub-windows. dockingLayout / dl unicode When queried this flag will return a string holding the docking layout information. This string can be set when creating or editing a docking station to restore the previous docking layout. This string is a hexadecimal representation of a binary string and is not meant to be humanly readable, but can be saved and loaded using the optionVar command to restore layouts across sessions of Maya. exists / ex bool Returns whether the specified object exists or not. Other flags are ignored. frontWindow / fw bool Return the name of the front window. Note: you must supply the name of any window (the window does not need to exist). Returns unknownif the front window cannot be determined. height / h int Height of the window excluding any window frame in pixels. iconName / iconName unicode The window’s icon title. By default it is the same as the window’s title. iconify / i bool Icon state of the window. interactivePlacement / ip bool Deprecated flag. Recognized but not implemented. This flag will be removed in a future version of Maya. leftEdge / le int Position of the left edge of the window. mainMenuBar / mm bool mainWindow / mw bool Main window for the application. The main window has an ‘Exit’ item in the Window Manager menu. By default, the first created window becomes the main window. maximizeButton / mxb bool Turns the window’s maximize button on or off. menuArray / ma bool Return a string array containing the names of the menus in the window’s menu bar. menuBar / mb bool Adds an empty menu bar to the window. The Qt name of the object will be m_menubar_nameOfTheWindow. menuBarVisible / mbv bool Visibility of the menu bar (if there is one). menuIndex / mi unicode, int Sets the index of a specified menu. minimizeButton / mnb bool Turns the window’s minimize button on or off. minimizeCommand / mnc script Script executed after the window is minimized (iconified). nestedDockingEnabled / nde bool Controls whether nested docking is enabled or not. Nested docking allows for docking windows next to other docked windows for more possible arrangement styles. numberOfMenus / nm bool Return the number of menus attached to the window’s menu bar. parent / p unicode Specifies a parent window or layout which the created window is always on top of. Note: If the parent is a window the created window is not modal, so events are still propagated to the parent window. resizeToFitChildren / rtf bool The window will always grow/shrink to just fit the controls it contains. restoreCommand / rc script Script executed after the window is restored from it’s minimized (iconified) state. retain / ret bool Retains the window after it has been closed. The default is to delete the window when it is closed. sizeable / s bool Whether or not the window may be interactively resized. state / st unicode When queried this flag will return a string holding the window state information. This string is a hexadecimal representation of a binary string and is not meant to be humanly readable, but can be saved and loaded using the optionVar command to restore window state across sessions of Maya. title / t unicode The window’s title. titleBar / tb bool Turns the window’s title bar on or off. titleBarMenu / tbm bool Controls whether the title bar menu exists in the window title bar. Only valid if -tb/titleBaris true. This Windows only flag is true by default. toolbox / tlb bool Makes this a toolbox style window. A Windows only flag that makes the title bar smaller and uses a slightly different display style. topEdge / te int Position of the top edge of the window. topLeftCorner / tlc int, int Position of the window’s top left corner. useTemplate / ut unicode Force the command to use a command template other than the current one. visible / vis bool The window’s visibility. width / w int Width of the window excluding any window frame in pixels. widthHeight / wh int, int Window’s width and height excluding any window frame in pixels. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.window
Example:
import pymel.core as pm # Make a new window # window = pm.window( title="Long Name", iconName='Short Name', widthHeight=(200, 55) ) pm.columnLayout( adjustableColumn=True ) # Result: ui.ColumnLayout('window1|columnLayout98') # pm.button( label='Do Nothing' ) # Result: ui.Button('window1|columnLayout98|button111') # pm.button( label='Close', command=('pm.deleteUI(\"' + window + '\", window=True)') ) # Result: ui.Button('window1|columnLayout98|button112') # pm.setParent( '..' ) # Result: u'' # pm.showWindow( window ) # Resize the main window # # This is a workaround to get MEL global variable value in Python gMainWindow = maya.mel.eval('$tmpVar=$gMainWindow') pm.window( gMainWindow, edit=True, widthHeight=(900, 777) ) # Result: ui.Window('MayaWindow') #