Go to: Synopsis. Return value. Flags. Python examples.
loadUI([listTypes=boolean], [uiFile=string], [uiString=string], [verbose=boolean], [workingDirectory=string])
Note: Strings representing object names and arguments must be separated by commas. This is not depicted in the synopsis.
loadUI is undoable, NOT queryable, and NOT editable.
loadUI lets you generate a Maya user interface from a Qt user interface (.ui) file.
While creating the interface, if a Qt widget’s class is recognized, and a Maya-equivalent exists,
the Maya-equivalent widget will be used.
Any dynamic widget properties starting with a ‘-’ will be treated as a MEL key/value pair.
Widget properties starting with a ‘+’ will be treated as a Python key/value pair.
Properties will be applied to the widget upon creation.
For additional details about ui files, please refer to Qt docs.
string | Full path name to the root control. |
listTypes, uiFile, uiString, verbose, workingDirectory
Long name (short name) |
Argument types |
Properties |
|
listTypes(lt)
|
boolean
|
|
|
Returns the list of recognized UI types and their associated Maya command.
|
|
uiFile(f)
|
string
|
|
|
Full path to a user interface file to load.
|
|
uiString(s)
|
string
|
|
|
Load UI from a formated string.
|
|
verbose(v)
|
boolean
|
|
|
Extra information about created controls will be printed.
|
|
workingDirectory(wd)
|
string
|
|
|
Sets the working directory, the loader looks for resources
such as icons and resouce files in paths relative to this directory.
|
|
Flag can appear in Create mode of command
|
Flag can appear in Edit mode of command
|
Flag can appear in Query mode of command
|
Flag can have multiple arguments, passed either as a tuple or a list.
|
import maya.cmds as cmds
import maya.cmds as cmds
# Note: mydialog.ui must already exist
dialog1 = cmds.loadUI(f='/users/username/mydialog.ui')
cmds.showWindow(dialog1)
# Load from a string
dialog = ""
counter = 0
# Define the button command callback
def onClick():
global counter
global dialog
counter += 1
control = "{}|verticalLayout|mybutton".format(dialog)
cmds.button(control,
edit=True,
label="Clicked {} times".format(counter))
print(counter)
# Create a dialog with a button from a UI description in string form
def showDialog():
dialogString = '''<?xml version='1.0' encoding='UTF-8'?>
<ui version='4.0'>
<class>Dialog</class>
<widget class='QDialog' name='Dialog'>
<layout class='QVBoxLayout' name='verticalLayout'>
<item>
<widget class='QPushButton' name='mybutton'>
<property name='text'>
<string>Clicked 0 times</string>
</property>
<property name='+command'>
<string>"onClick()"</string>
</property>
</widget>
</item>
</layout>
</widget>
</ui>'''
global dialog
dialog = cmds.loadUI(s=dialogString)
cmds.window(dialog, e=True, w=200, h=50)
cmds.showWindow(dialog)
showDialog()