Skip to content

PyQt5 library to create control panels for escape room props.

License

Notifications You must be signed in to change notification settings

xcape-io/PyPropControl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyQt5 Prop Control library

PyQt5 library to create control panels for escape room props.

The PyPropControl core library is shared by two projects:

QtProp in PyProps library is also written with PyQt5 therefore we, and you, can leverage in coding prop control panels and xcape.io Room.

PyQt5 has its own event loop to multitask seamlessly and it brings the power of Qt to Python.

Pycharm Community is the free python IDE recommenbded for developing your own plugin or control panel.

The PyControlPanel code and the PyRoomPlugin code are almost interchangeable.

PyControlPanel

See PyControlPanel project.

Prop control panel is a powerful feature of xcape.ioRoom software and for people who don't want to use xcape.io Room, PyControlPanel is the alternative to create your own prop control panel.

Create your own prop control panel

The control panel code is mainly in PanelDialog.py where you start editing for your own project.

To create your own control panel, you simply download the PyPropControlPanelInstallation.zip archive, unflate and hack the code.

Because PyControlPanel is a pure python applet, you can install it on any computer running python with PyQt5 (Windows, Mac, Linux and even Raspberry Pi).

See Installation in PyPropControlPanel README.

Make a simple or a complex control panel

You can quickly write a control panel with the widgets from the core library:

And because you code the control panel yourself, you can create widgets of any kind to make a complex control panel.

PyRoomPlugin

See PyRoomPlugin project.

The xcape.ioRoom plugin system allows you to extend the software to meet all the needs of escape rooms.

Plugin are usually created to perform specific control, synch as:

  • send clues and hint to players (PyTeletextPlugin)
  • adjust the timing of a linear actuator
  • control a game with several boards (biometric fingerprint in an out)

The plugin code is mainly in PluginDialog.py where you start editing for your own project.

You will use the widgets of the PyPropControl core library and you will create your own widgets easily thanks to the QtWidgets library and the PyQt5 tutorials.

PyPropControl core library

See PyPropControl core.

  • AppletDialog: base class that manages the size and position of the main dialog
  • MqttApplet: base class for you applet which manage all the MQTT messaging
  • Singleton: to guarantee the execution of a single instance of your applet
  • LedWidget: to show teh conenction state with the prop
  • DataWidget: display a prop data with text or image
  • PushButton: button to send a message to the prop
  • SwitchWidget: switch synchronized with a prop boolean data
  • ToggleButton: toggle button synchronized with a prop boolean data

Prop control panel

Author

Faure Systems (Apr 18th, 2020)

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

Releases

No releases published

Packages

No packages published