/pyqt5-qtquick2-example

An example of QtQuick 2 providing material and fluent design themes in PyQt5.

Primary LanguagePythonMIT LicenseMIT

Example of QtQuick 2 with PyQt5

pipeline status coverage report Requirements Status Linux Release link

NOTE: A better practice for communication between front-end (QML) and back-end (Python) can be found in neural-network-sandbox repository.

Themes

Run main.py with theme names as second parameter.

python main.py Default
python main.py Fusion
python main.py Imagine
python main.py Material
python main.py Universal

Change environmental variable QT_QUICK_CONTROLS_STYLE in main.py.

# main.py

# Set the QtQuick Style
# Acceptable values: Default, Fusion, Imagine, Material, Universal.
os.environ['QT_QUICK_CONTROLS_STYLE'] = 'Default'

Previews

Default

Default

Fusion (Breeze Dark)

Fusion (Breeze Dark)

Fusion (Kubuntu)

Fusion (Kubuntu)

Imagine

Imagine

Universal (Microsoft Fluent Design Dark)

Universal (Microsoft Fluent Design Dark)

Universal (Microsoft Fluent Design Light)

Universal (Microsoft Fluent Design Light)

Material (Light)

Material (Light)

Material (Dark)

Material (Dark)

Packaging for Distribution with PyInstaller

You could download the latest binary distribution here (Linux 64bit):

Linux Release link

Package the source code manually:

.qrc files must be located in the same directory with the python file which will load the resource in qrc.

pyrcc5 -o pyqt5_qtquick2_example/resources.py resources.qrc
pyinstaller main.py -y --windowed --additional-hooks-dir pyi_hooks/