This is a tool to help you develop desktop applications using Python Qt bindings of your choice for the 'front end' with django ORM for the backend.
Now also available as a VScode extension
Tested with PyQt5.11 and Django 2.1 on Ubuntu 18.4 and windows 10
Note that you need PyQt5 and Django to be already installed
Clone the repo then run:
sudo python3 setup.py
Open a cmd or a ps as admin and run
python3 setup.py
pyqt-admin --startproject proj_name destination
Project Structure:
├── apps -> where django apps go
├── forms -> where Qt *.ui files go
├── resources -> where Qt *.qrc files and assets(images, fonts, ...) go
├── viewManagers -> your views controllers go here
├── views -> where pyuic5 & pyrcc5 generated *.py files go
├── __main__.py -> start point for your application
├── manage.py
├── settings.py
├── config.json
Edit config.json
to change the binding i.e (PyQt4, PyQt4, PySide or PySide2)
PyQt5 by default.
set django
to false
to only use qt with the same commands.
Edit hidden-imports
to add imports for pyinstaller
python3 manage.py startapp appname appname2
INSTALLED_APPS = ["apps.appname",]
python3 manage.py makemigrations [app1, app2, ...]
python3 manage.py migrate [appname, appname2, ...]
Note that leaving apps blank will try to migrate all apps
python3 manage.py command
python3 manage.py uic [file1.ui, file2.ui]
Note that leaving files blank will compile all UI files inside forms directory
python3 manage.py rcc [file1.ui, file2.ui]
python3 manage.py deploy
Now you can start using django (models, authentication, ... ) inside your application
- PyInstaller deployment is not fully implemented yet
- fix pyinstaller issues
- create a pip package