pymel.core.windows.windowPref¶
- windowPref(*args, **kwargs)¶
Create or modify preferred window attributes. The size and position of a window is retained during and between application sessions. A default window preference is created when a window is closed. Window preferences must be named and, consequently, only affect the window with a matching name. Note that window preferences are not applied to the main Maya window nor the Command window. In query mode, return type is based on queried flag.
Flags:
Long Name / Short Name Argument Types Properties enableAll / ea bool Enable/disable all window preferences. Preferences are enabled by default. Set this flag to false and window’s will ignore all preference values. exists / ex bool Returns true|false depending upon whether the specified object exists. Other flags are ignored. height / h int Height of the window. leftEdge / le int Left edge position of the window. loadAll / la bool Reads in file with window attributes from disk. maximized / max bool Maximize the window. parentMain / pm bool Set whether window is parented to main application window. Windows only. remove / r bool Remove a window preference. removeAll / ra bool Remove all window preferences. restoreMainWindowState / rms unicode Reads in file with main window state (positions of toolbars and dock controls). saveAll / sa bool Writes out file with window attributes. saveMainWindowState / sms unicode Writes out file with main window state (positions of toolbars and dock controls). topEdge / te int Top edge position of the window. topLeftCorner / tlc int, int Top and left edge position of the window. width / w int Width of the window. widthHeight / wh int, int Width and height of the window. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.windowPref
Example:
import pymel.core as pm # Check if the window exists. # if pm.window('ExampleWindow', exists=True): pm.deleteUI('ExampleWindow', window=True) # Create a window. # pm.window( 'ExampleWindow' ) # Result: ui.Window('ExampleWindow') # pm.columnLayout() # Result: ui.ColumnLayout('ExampleWindow|columnLayout99') # pm.text( label='Size and position the window before closing it.' ) # Result: ui.Text('ExampleWindow|columnLayout99|text25') # pm.button( label='Close', command='pm.deleteUI("ExampleWindow", window=True)' ) # Result: ui.Button('ExampleWindow|columnLayout99|button113') # pm.showWindow( 'ExampleWindow' ) # When the window is closed a window preference object is # created for the window. It has the same name as the window # object. # pm.windowPref( 'ExampleWindow', exists=True ) # Result: True # # Query the window preference size and position. # pm.windowPref( 'ExampleWindow', query=True, topLeftCorner=True ) # Result: [414, 674] # pm.windowPref( 'ExampleWindow', query=True, widthHeight=True ) # Result: [300, 300] # # Create a window with the same name. When it is shown # it will be sized and positioned according to the # window preference. # if pm.window('ExampleWindow', exists=True): pm.deleteUI('ExampleWindow', window=True) pm.window( 'ExampleWindow' ) # Result: ui.Window('ExampleWindow') # pm.columnLayout() # Result: ui.ColumnLayout('ExampleWindow|columnLayout100') # pm.text( label='Size and position the window before closing it.' ) # Result: ui.Text('ExampleWindow|columnLayout100|text26') # pm.button( label='Close', command='pm.deleteUI("ExampleWindow", window=True)' ) # Result: ui.Button('ExampleWindow|columnLayout100|button114') # pm.showWindow( 'ExampleWindow' ) # Delete the window preference and the window will have a # default size and position. # pm.windowPref( 'ExampleWindow', remove=True ) # Create the window one last time. # if pm.window('ExampleWindow', exists=True): pm.deleteUI('ExampleWindow', window=True) pm.window( 'ExampleWindow' ) # Result: ui.Window('ExampleWindow') # pm.columnLayout() # Result: ui.ColumnLayout('ExampleWindow|columnLayout101') # pm.text( label='Size and position the window before closing it.' ) # Result: ui.Text('ExampleWindow|columnLayout101|text27') # pm.button( label='Close', command='pm.deleteUI("ExampleWindow", window=True)' ) # Result: ui.Button('ExampleWindow|columnLayout101|button115') # pm.showWindow( 'ExampleWindow' )