Skip to content

thp/pyotherside

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
August 5, 2022 13:43
August 5, 2022 13:48
src
August 5, 2022 13:48
August 5, 2022 13:48
August 5, 2022 13:48
August 5, 2022 13:48
August 5, 2022 13:48

PyOtherSide: Python 3 QML Plugin for Qt 5 and Qt 6

Build and test

A Qt plugin providing access to a Python 3 interpreter from QML for creating asynchronous mobile and Desktop UIs with Python.

Requirements

  • Qt 5.1.0 or newer (Qt 6.x also supported)
  • Python 3.3.0 or newer

Building

To build and install the QML plugin:

qmake   # use "qmake6" for Qt 6
make
make install

To build against a specific Python version, use:

qmake PYTHON_CONFIG=python3.3-config   # use "qmake6" for Qt 6
make
make install

To manually update the qmltypes file on x64 Linux (TODO: make this automated):

qmake   # use "qmake6" for Qt 6
make
make INSTALL_ROOT=$(pwd)/tmp/
QML2_IMPORT_PATH=$(pwd)/tmp/usr/lib/x86_64-linux-gnu/qt5/qml \
    make -C src qmltypes

Unit Testing

To run the included unit tests after building, use:

./tests/tests

Static Linking

If you want to link PyOtherSide statically against Python 3, you can include the Python Standard Library in PyOtherSide as Qt Resource and have it extracted automatically on load, for this, zip up the Standard Library and place the .zip file as "pythonlib.zip" into src/ before running qmake.

More information

About

Python Bindings for Qt 5 and Qt 6. Allows you to access a CPython 3 interpreter directly from your Qt QML user interface code.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published