|This article needs additional citations for verification. (April 2017) (Learn how and when to remove this template message)|
In this framework, the programmer designs various actions that his application can implement, with several actions defined for the programmer by the KDE framework, such as opening a file or closing the application. Each action can be associated with various data including icons, explanatory text, and tooltips.
The interesting part to this design is that the actions are not inserted into the menus or toolbars by the programmer. Instead, the programmer supplies an XML file, which describes the layout of the menu bar and toolbar. Using this system, it is possible for the user to redesign the user interface of an application without needing to touch the source code of the program in question.
In addition, XMLGUI is useful for the KParts component programming interface for KDE, as an application can easily integrate the GUI of a KPart into its own GUI. The Konqueror file manager is the canonical example of this feature.
The current version is KDE Frameworks#KXMLGUI.
The name is somewhat generic. The Beryl XML GUI was formerly named xmlgui, and there are a dozen other xml-oriented gui-libraries with the same project name. The KDE XMLGUI is one in a long series of projects that have not managed to pin down the term for the resulting programming base.