Skip to content

lgili/pydracula-pyside6-template

Repository files navigation

PyDracula - Modern GUI PySide6 / PyQt6

This project was based on Pydracula.

Features

  • Compatible with Python 3.8+
  • PySide6
  • PyDracula Theming (Dark/Light)
  • Splash Screen
  • Resources compiled ahead of time:
    • Final build only consists of Python files
  • Packaging for Windows, Linux and Flatpak
  • Database repository with sqlalchemy (SQLite, Postgres, MySQL)

Development Setup

First Steps

  1. Set up the development environment for your OS (please look here for a guide)

with python

  1. Run python run.py to start the app

with ppt

The project use ppt to package the app, read more on https://github.com/lgili/python-packaging-tool So you can run the app with the client too

  1. Run ppt run

Always the the .ui or resources files is changed is necessary to run ./_scripts/build-windows.sh If you run the app with python run.py, the script will update automatically

Read Further

Dependencies

For package

The project use ppt to package the app, read more on https://github.com/lgili/python-packaging-tool

  1. ppt freeze to generate dependencies for pyinstaller
  2. ppt installer to to generate the installer

Windows

🎁 //// DONATE ////

🔗 Donate (Gumroad): https://gum.co/mHsRC

This interface is free for any use, but if you are going to use it commercially, consider helping to maintain this project and others with a donation by Gumroado at the link above. This helps to keep this and other projects active.

Warning: this project was created using PySide6 and Python 3.9, using previous versions can cause compatibility problems.

YouTube - Presentation And Tutorial

Presentation and tutorial video with the main functions of the user interface.

🔗 https://youtu.be/9DnaHg4M_AM

Multiple Themes

PyDracula_Default_Dark PyDracula_Light

High DPI

Qt Widgets is an old technology and does not have a good support for high DPI settings, making these images look distorted when your system has DPI applied above 100%. You can minimize this problem using a workaround by applying this code below in "main.py" just below the import of the Qt modules.

# ADJUST QT FONT DPI FOR HIGHT SCALE
# ///////////////////////////////////////////////////////////////
os.environ["QT_FONT_DPI"] = "96"

Running

Inside your preferred terminal run the commands below depending on your system, remembering before installing Python 3.9> and PySide6 "pip install PySide6".

Windows:

python run.py

MacOS and Linux:

python3 run.py

Compiling

Windows:

python setup.py -s windows

linux:

python setup.py -s linux

Flatpak:

python setup.py -s flatpak

Project Files And Folders

main.py: application initialization file.

main.ui: Qt Designer project.

resouces.qrc: Qt Designer resoucers, add here your resources using Qt Designer. Use version 6 >

setup.py: cx-Freeze setup to compile your application (configured for Windows and Linux).

themes/: add here your themes (.qss).

controllers/app_funtions.py: add your application's functions here. Up controllers/app_settings.py: global variables to configure user interface.

view/resources_rc.py: "resource.qrc" file compiled for python using the command: pyside6-rcc resources.qrc -o resources_rc.py.

controllers/ui_functions.py: add here only functions related to the user interface / GUI.

view/ui_main.py: file related to the user interface exported by Qt Designer. You can compile it manually using the command: pyside6-uic main.ui> ui_main.py . After expoting in .py and change the line "import resources_rc" to "from . resources_rc import *" to use as a module.

assets/: put all your images and icons here before converting to Python (resources_re.py) pyside6-rcc resources.qrc -o resources_rc.py.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published