pymel.core.windows.loadUI

loadUI(*args, **kwargs)

loadUI command allows loading of a user interface created in Trolltech Qt Designer. Some Qt classes have equivalents in Maya. If a widget’s class is recognized, the Maya-equivelent will be created instead. Any dynamic properties on a widget which start with a ‘-‘ character will be treated as a MEL flag/value pair. Similarly, any which start with a ‘+’ will be treated as a Python flag/value pair. Such pairs will be applied to the widget upon creation.

Flags:

Long Name / Short Name Argument Types Properties
listTypes / lt bool ../../../_images/create.gif
  Returns the list of recognized UI types and their associated Maya command.
uiFile / f unicode ../../../_images/create.gif
  Full path to a user interface file to load.
uiString / s unicode ../../../_images/create.gif
  Load UI from a formated string.
verbose / v bool ../../../_images/create.gif
  Extra information about created controls will be printed.
workingDirectory / wd unicode ../../../_images/create.gif
  Sets the working directory, the loader looks for resources such as icons and resouce files in paths relative to this directory. Flag can have multiple arguments, passed either as a tuple or a list.

Derived from mel command maya.cmds.loadUI

Example:

import pymel.core as pm

# Note: mydialog.ui must already exist
dialog1 = pm.loadUI(f='/users/username/mydialog.ui')
pm.showWindow(dialog1)

# Load from a string
dialogString = \
r""""?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="QLabel" name="mylabel""
     "property name="text""
      "string"Test Dialog"/string"
     "/property"
    "/widget"
    "/item"
    "item"
    "widget class="QPushButton" name="mybutton""
     "property name="text""
      "string"Press Me"/string"
     "/property"
     "property name="+command""
      "string""import time;pm.text('mylabel',e=True,label='CPU Time: '+repr(time.clock()))""/string"
     "/property"
    "/widget"
   "/item"
  "/layout"
 "/widget"
"/ui"
"""
dialog2 = pm.loadUI(uiString=dialogString)
pm.showWindow(dialog2)