Maya's user interface (UI) is built using MEL and Python commands which create UI elements such as buttons and input fields using a combination of custom and native widgets.
Prior to Maya 2011, those widgets were implemented using platform-specific toolkits such as Motif on Linux and Carbon on OS X. From Maya 2011 onward, the widgets are implemented using Digia's Qt toolkit on all platforms.
For most developers the use of Qt is fairly transparent. Changes in the sizes of some controls may require the tweaking of pre-2011 scripts, and new capabilities such as dockable UI elements provide greater flexibility in UI design. In addition, the loadUI command provides a way to use Qt's Designer tool to create Maya UI.
While Maya's UI commands should be sufficient to meet the most common of developers' UI needs, more demanding interfaces may require lower-level access to the underlying toolkit. In these situations, the MQtUtil class provides the essential link between the names by which UI elements are recognized in Maya scripts and their underlying Qt widgets.
As an alternative, PySide can be used in lieu of PyQt to create Qt widgets in Maya, and is available as part of the Qt distribution.
For more information, see Working with PySide in Maya.