Skip to main content

A set of distutils extension for building Qt ui files

Project description

A set of distutils extension to work with PyQt applications and UI files.

The goal of this tiny library is to help you write PyQt application in a pythonic way, using setup.py to build the Qt designer Ui files.

This works with PyQt4, PyQt5 and PySide (tested with python3 only).

Usage

Add the following lines to your setup.py:

# import build_ui
try:
    from pyqt_distutils import build_ui
    cmdclass = {'build_ui': build_ui}
except ImportError:
    build_ui = None  # user won't have pyqt_distutils when deploying
    cmdclass = {}

...

setup(...,
      cmdclass=cmdclass)

To build the ui/qrc files, run:

python setup.py build_ui

UI Files

The compilation of ui files is driven by a pyuic.cfg file, which is a plain json file with the following format:

{
    "files": [
        [
            "forms/main_window.ui",
            "package/forms"
        ]
    ],
    "pyrcc": "pyrcc5",
    "pyrcc_options": "",
    "pyuic": "pyuic5",
    "pyuic_options": "--from-imports"
}

Here is a brief description of the fields:

  • files: list of file pairs made up of the source ui file and the destination package

  • pyrcc: the name of the pyrcc tool to use (e.g: ‘pyrcc4’ or ‘pyside-rcc’)

  • pyrcc_options: pyrcc options (optional)

  • pyuic: the name of the pyuic tool to use (e.g: ‘pyrcc4’ or ‘pyside-rcc’)

Command line tool

Starting from version 0.2, you can use the pyuicfg command line tool to manage your pyuic.cfg file:

# generate pyuic.cfg in the current directory, for use with PyQt4
pyuicfg -g

# generate pyuic.cfg in the current directory, for use with PyQt5
pyuicfg -g --pyqt5

# generate pyuic.cfg in the current directory, for use with PySide
pyuicfg -g --pyside

# add files
pyuicfg -a forms/main_window.ui foo_package/forms
pyuicfg -a resources/foo.qrc foo_package/forms

# remove file
pyuicfg -r resources/foo.qrc

Requirements

The following packages are required:

  • enum34 (python enums)

  • docopt

Install

You can either install from pypi:

(sudo) pip install pyqt-distutils

Or from source:

pip install .

License

This project is licensed under the MIT license.

Changelog

0.2.1

  • fix missing install requirements (docopt and enum34).

0.2.0

  • add pyuicfg command line tool to administrate your pyuic.cfg file.

0.1.2

  • Improve readme

0.1.1

  • Fix description and examples when pyqt-distutils has not been installed.

0.1.0

  • Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyqt-distutils-0.2.1.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file pyqt-distutils-0.2.1.tar.gz.

File metadata

File hashes

Hashes for pyqt-distutils-0.2.1.tar.gz
Algorithm Hash digest
SHA256 fa268a7bc174a3a1ad2f274139c36ae0cd0ab20c4ece7aa076dee17e88ebfef2
MD5 3b9625651c743eed1e156f84f590cbf4
BLAKE2b-256 7cd2d27cbf70e11c5c4d187016fa2db147d48aca83dde36a6c32d2f1193bf0b6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page