Skip to content

Latest commit

 

History

History

QtProp

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Qt Props

Examples of pure Python props using PyQt5 even loop.

PyQt5 brings the power of Qt to Python and is well supported on Raspberry Pi.

QtProp is suitable for console and GUI props with PyQt5:

  • multimedia playback
  • graphics effects
  • sensors and actuators (GPIO and I2C shieds)
  • Bluetooth support
  • printing support
  • styled GUI (Qt Style Sheets)
  • Qt Signals & Slots mechanism
  • easy to reuse the props code in a control panel (necessary for complex props such as fingerprint biometric props with 2 Raspberry boards)
  • reuse the props code for its associated control applet
  • use the associated control applet as a Room plugin

PyQt5 has its own event loop to multitask seamlessly.

QtProp extends either QCoreApplication or QApplication object to add MQTT asynchronous messaging to the PyQt5 framework to facilitate your coding.

Installation and usage

You will find installation and usage instructions in the PyProps library INSTALLATION.md

PyQt5 must be installed:

    $ sudo apt-get update
    $ sudo apt-get install qt5-default pyqt5-dev pyqt5-dev-tools
    $ sudo apt-get install python3-pyqt5 python3-pyqt5-dbg

You will have to install more packages from python3-pyqt5 packages:

    $ sudo apt-get update
    $ apt-cache search pyqt5 | grep python3-pyqt5
    
    python3-pyqt5 - Python 3 bindings for Qt5
    python3-pyqt5-dbg - Python 3 bindings for Qt5 (debug extensions)
    python3-pyqt5.qsci - Python 3 bindings for QScintilla 2 with Qt 5
    python3-pyqt5.qsci-dbg - Python 3 bindings for QScintilla 2 (Qt 5 debug extensions)
    python3-pyqt5.qtchart - Python 3 bindings for Qt5's Charts module
    python3-pyqt5.qtchart-dbg - Python 3 bindings for Qt5's Charts module (debug extension)
    python3-pyqt5.qtmultimedia - Python 3 bindings for Qt5's Multimedia module
    python3-pyqt5.qtmultimedia-dbg - Python 3 bindings for Qt5's Multimedia module (debug extensions)
    python3-pyqt5.qtopengl - Python 3 bindings for Qt5's OpenGL module
    python3-pyqt5.qtopengl-dbg - Python 3 bindings for Qt5's OpenGL module (debug extension)
    python3-pyqt5.qtpositioning - Python 3 bindings for QtPositioning module
    python3-pyqt5.qtpositioning-dbg - Python 3 bindings for QtPositioning module (debug extension)
    python3-pyqt5.qtquick - Python 3 bindings for QtQuick module
    python3-pyqt5.qtquick-dbg - Python 3 bindings for QtQuick module (debug extension)
    python3-pyqt5.qtsensors - Python 3 bindings for QtSensors module
    python3-pyqt5.qtsensors-dbg - Python 3 bindings for QtSensors module (debug extension)
    python3-pyqt5.qtserialport - Python 3 bindings for QtSerialPort module
    python3-pyqt5.qtserialport-dbg - Python 3 bindings for QtSerialPort module (debug extension)
    python3-pyqt5.qtsql - Python 3 bindings for Qt5's SQL module
    python3-pyqt5.qtsql-dbg - Python 3 bindings for Qt5's SQL module (debug extension)
    python3-pyqt5.qtsvg - Python 3 bindings for Qt5's SVG module
    python3-pyqt5.qtsvg-dbg - Python 3 bindings for Qt5's SVG module (debug extension)
    python3-pyqt5.qtwebchannel - Python 3 bindings for Qt5's WebChannel module
    python3-pyqt5.qtwebchannel-dbg - Python 3 bindings for Qt5's Webchannel module (debug extension)
    python3-pyqt5.qtwebkit - Python 3 bindings for Qt5's WebKit module
    python3-pyqt5.qtwebkit-dbg - Python 3 bindings for Qt5's WebKit module (debug extensions)
    python3-pyqt5.qtwebsockets - Python 3 bindings for Qt5's WebSockets module
    python3-pyqt5.qtwebsockets-dbg - Python 3 bindings for Qt5's WebSockets module (debug extensions)
    python3-pyqt5.qtx11extras - Python 3 bindings for QtX11Extras module
    python3-pyqt5.qtx11extras-dbg - Python 3 bindings for QtX11Extras module (debug extension)
    python3-pyqt5.qtxmlpatterns - Python 3 bindings for Qt5's XmlPatterns module
    python3-pyqt5.qtxmlpatterns-dbg - Python 3 bindings for Qt5's XmlPatterns module (debug extension)
    python3-pyqt5.qwt - Python version of the Qwt6 technical widget library (Python3)

And you will have to complete with related packets:

Functionality Packages
Bluetooth $ sudo apt-get install bluez libbluetooth-dev
Multimedia $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-dev gstreamer1.0-pulseaudio gstreamer1.0-tools gstreamer1.0-alsa
Audio $ sudo apt-get install libasound2-dev pulseaudio libpulse-dev
Database $ sudo apt-get install libpq-dev libmariadbclient-dev libmariadbclient-dev-compat libsqlite3-dev
Impression $ sudo apt-get install libcups2-dev
X11 $ sudo apt-get install libx11-dev libxcb1-dev libxkbcommon-x11-dev libx11-xcb-dev libxext-dev
Accessibility $ sudo apt-get install libatspi-dev
WebKit $ sudo apt-get install libicu-dev libsqlite3-dev libxslt1-dev libssl-dev

Qt Console Props applications

For example:

Author

Faure Systems (Apr 11th, 2020)

  • company: FAURE SYSTEMS SAS
  • mail: dev at faure dot systems
  • github: xcape-io
  • web: xcape.io