Automated conversion of Qt Designer .ui files for IntelliJ-based IDEs.
The Qt UI Compiler is an extension that automates the generation of code from Qt Designer XML user interface files. It ensures that the visual design remains synchronized with the implementation by monitoring changes and invoking the appropriate compilation tools automatically.
| Framework | Executable | Output |
|---|---|---|
| PyQt6 | pyuic6 |
Python |
| PySide6 | pyside6-uic |
Python |
| PyQt5 | pyuic5 |
Python |
| PySide2 | pyside2-uic |
Python |
| Native Qt | uic |
C++ headers |
Works with all JetBrains IDEs:
- PyCharm (Community & Professional)
- IntelliJ IDEA (Community & Ultimate)
- CLion
- WebStorm
- Rider
- And other IntelliJ-based IDEs
- Automatic Compilation: Detects modifications in
.uifiles and generates the corresponding output files instantly upon saving. - Manual Execution: Provides context menu actions and keyboard shortcuts (
Ctrl+Alt+U) for on-demand compilation. - Environment Awareness: Supports virtual environments (
venv) and custom executable paths. - Flexible Configuration: Offers glob pattern filtering for targeted file monitoring and customizable output paths.
- Auto-Detection: Automatically finds the appropriate UIC executable in your virtual environment or system PATH.
- I18n Support: Fully internationalized interface and notifications.
- Cross-Platform: Compatible with Windows, macOS, and Linux.
The plugin can be installed via the JetBrains Marketplace within any compatible IDE:
- Navigate to Settings/Preferences | Plugins.
- Search for Qt UI Compiler.
- Click Install.
Settings are located under Settings/Preferences | Tools | Qt UI Compiler.
- Virtual Environment Path: Specify the path to the project's virtual environment (default:
.venv). - Custom UIC Path: Optional path to a specific
uicexecutable if auto-detection is not sufficient. - Path Mode: Toggle whether the paths above are interpreted relative to the project root.
- Enable auto-compilation: Globally enable or disable background compilation on save.
- UI Files Filter: Use glob patterns (e.g.,
**/ui/*.ui) to define which files the plugin should process (default:*.ui). - Output Path/Pattern: Define where the generated files should be stored. Use
$1as a placeholder for the original filename.
- Configure the environment and compilation settings (or use auto-detection).
- The plugin will monitor files matching the defined pattern.
- Upon saving a
.uifile, the corresponding output file is generated or updated. - Alternatively, right-click a
.uifile in the Project View or Editor and select Compile UI File.
If you're using Qt with C++, the plugin will automatically detect the native uic executable in your PATH. Make sure Qt's bin directory is in your system PATH, or configure a custom UIC path in the settings.
- Java 17
- Gradle (provided via wrapper)
To build the plugin distribution:
./gradlew buildPluginThe resulting ZIP file will be located in build/distributions/.
./gradlew testThis project is licensed under the terms specified in the LICENSE file.