Skip to main content

Live coding for Python, Qt and QML

Project description

Live Coding Environment for Python, Qt and QML

PyPI version Build Status License: MIT Code style: black

Logo

This project provides a live coding environment for Python and Qt. It supports both PyQt and Qt for Python (PySide2) via the python_qt_binding.

Install

To install the live coding environment run:

python setup.py install

or install it via pip

pip install python-qt-live-coding

You also need to install PyQt or PySide2 for this application to work. The quickest way to achieve this is to use pip.

pip install PyQt5

or

pip install pyside2

Use

The live coding environment comes with a live runner which enables your to live code Qt GUIs quickly.

Run following to test drive the example:

python_qt_live_coding examples

Your will instantly see the example project in the live runner.

Live Runner Example

Now you can either select the MainScreen.qml file or type MainScreen in the filter.

When you type, the file will be automatically selected.

When loaded you will see following.

Live Runner Example

This is the example GUI inside the live runner.

Now press the Edit button. Your favorite text editor should open promptly.

Edit the code inside the editor und you will see the GUI updates instantly when you save the document.

Python QML module support

The live coding environment has built in support for Python QML modules.

The idea is to place QML and Python code in the same directory, similar to how you would create a Qt/C++ application. Additionally, with Python we have the advantage of being able to discover modules automatically.

For this purpose add register_qml_types function to the __init__.py of your Python QML module. See the example in example/module/__init__.py.

However, so far automatic reloading of Python code is not support. When you work on a Python module please use the Restart button which restarts the live coding application instead.

Forcing PyQt or Python for Qt (PySide2) usage

In some cases you might want to force which Python Qt binding python_qt_live_coding is using. This can be done by passing the optional --binding argument via the command line.

python_qt_live_coding -b pyside .

PyCharm Support

For this application to work with PyCharm and other IntelliJ IDEs please disable the "safe write" feature. The feature writes a temporary file before saving any file, which can confuse the file change watcher.

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

python-qt-live-coding-0.2.3.tar.gz (14.3 kB view details)

Uploaded Source

File details

Details for the file python-qt-live-coding-0.2.3.tar.gz.

File metadata

  • Download URL: python-qt-live-coding-0.2.3.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

File hashes

Hashes for python-qt-live-coding-0.2.3.tar.gz
Algorithm Hash digest
SHA256 cd02006f167c94829a1495faab619926b98bb51147a54fa97b0ec813739ed8c0
MD5 6e8e3b65235c229598ef4574ad8d123a
BLAKE2b-256 731922f38f8d6165011ca7d02ff62029a267075185a3a3f44504432ceac73b47

See more details on using hashes here.

Supported by

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