/QuteStyle

An expandable application framework for Qt

Primary LanguagePythonMIT LicenseMIT

QuteStyle logo

QuteStyle

QuteStyle is an expandable application framework for PySide6 and heavily inspired by PyDracula. The main goal of this project is to provide a simple and easy to use application frame that can be used to create a new application. It is mainly suited for applications that rely on a center widget for user interaction. Functionality is extendable by having different widgets that can be loaded into that center widget area.

Project status

Python Versions Qt Versions License Code style: black

Tests

pre-commit.ci status CodeQL Build Status Code Coverage

Package

PyPI PyPI - Wheel

Features

  • Easy integration of already existing widgets
  • Preset themes that easily can be modified
  • Custom widgets
  • Splash screen
  • Build-in release history
  • Used and developed in a productive environment

Themes and Styled Widgets

QuteStyle provides five themes, defining the color composition of the app. Additionally, the user can define new themes (check this out). We provide five themes, for example a dark and light mode Darcula and Highbridge Grey. We defined custom widgets, such that they fit to the overall style and implemented new behaviour. A selection can be found in the Test-App:

Highbridge GreyDarcula

Requirements

Installation Method

pip install qute-style

Usage

import sys

from qute_style_examples.sample_main_window import StyledMainWindow
from qute_style.qs_application import QuteStyleApplication
from qute_style.update_window import AppData

class MyApplication(QuteStyleApplication):
    # take a look at qute_style_examples.sample_main_window and qute_style_examples.sample_widgets
    # to find out more about setting up a main window and the widgets that it
    # should display
    MAIN_WINDOW_CLASS = StyledMainWindow
    # add basic information about your application
    APP_DATA = AppData(
        "Test-App",
        "2.3.4",
        ":/svg_images/logo_qute_style.svg",
        ":/svg_images/logo_qute_style.svg",
        "",
        "Test Version",
    )

if __name__ == "__main__":

    APP_NAME = "Test-App"

    app = MyApplication(sys.argv)
    sys.exit(app.exec())

For further information, see our documentation.

Example

Check out our example app by running:

python -m qute_style_examples

License

The original design idea is from Wanderson-Magalhaes and his project PyDracula (MIT License). The svg files are derived from Material design icons (Apache License Version 2.0). Other files are covered by QuteStyle's MIT license.

Contributing

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.