Skip to main content
logo

uiml

A speacial XML format for drawing PySide6 UI interfaces A special XML format for drawing PySide6 UI interfaces




Introduction

uiml is a tool for drawing PySide6 UI interfaces using a special XML format. It defines the layout, style, and signals of the interface using a special XML format. The syntax of uiml is very simple and easy to learn and use. You can use uiml to create complex interfaces without writing a lot of code.

The syntax of uiml is based on XML, but it adds support for Python objects, so it has both the lightness of XML and the flexibility of Python objects.

Installation

To use uiml, you need to install it first. You can install uiml using pip:

pip install uiml

Usage

To use uiml, you need to create a uiml file and define the layout, style, and signals of the interface in it. Here is a simple example:

<layout name="central_layout" direction="v">
    <QLabel name="text" arg=["This is a label"] />
    <layout name="bottom_layout" direction="h" stretch="true">
        <QPushButton name="ok_button" arg=["Close the window"] style="selected" signals={"clicked": self.close} />
    </layout>
</layout>

Properties

layout

This is a layout object, which can add layout objects as children or add component objects. Parameters:

  • name: The name of the layout object, used to reference it in the code.
  • direction: The direction of the layout, can be "v" (vertical) or "h" (horizontal), can be extended.
  • stretch: The stretch factor of the layout object, can be "true" or "false".

Widget

This is a component object, the tag name of the object is the name of the control, such as "QLabel", "QPushButton" etc. Parameters:

  • name: The name of the component object, used to reference it in the code.
  • arg: The parameters of the component object, stored in a list, can be strings, lists, dictionaries etc.
  • kwarg: The properties of the component object, with keywords, stored in a dictionary, can be strings, lists, dictionaries etc.
  • style: The style of the component object, can be strings, lists, dictionaries etc.
  • signals: The signals of the component object, stored in a dictionary, the key is the signal name, the value is the signal processing function.
  • init_steps: The initialization steps of the component object, stored in a list, the sub-items are stored in a dictionary.

Metadata

Release files for uiml 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for uiml 0.2.0
File Size Uploaded
uiml-0.2.0.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for uiml 0.2.0
File Interpreter ABI Platform
uiml-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.1 kB

Release files / uiml-0.2.0.tar.gz

Download URL uiml-0.2.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d1801070fa545a9d94ae98918f95eea6dfa54a69d11260ac67711886ea8dcf17
BLAKE2b-256 checksum
How to use checksums
31c1196ab2b24c6c2cc5f205ecb2de0283d02fae7493834704aaaabb39fcda8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / uiml-0.2.0-py3-none-any.whl

Download URL uiml-0.2.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9777147a485dd0e8dbebe2b377d2ec228536921b5753c002800e6fd6c6cad914
BLAKE2b-256 checksum
How to use checksums
00e893182c959b4d94f8f155271a72c5731433aeb89db0883ac37d181eda3f75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page