/Python-UI-Collection

Python UI Collection: widgets, templates, testing

Primary LanguagePythonMIT LicenseMIT

build status Total alerts Language grade: Python

Python UI Collection

This repository is a collection of Python User Interfaces including templates to develop UIs yourself, snippets and more-or-less finished UIs for various purposes. Feel free to contribute by creating a pull request!

Table of Contents

Tkinter Template

Tkinter Template for Desktop Applications; Includes customized classes for scrollable frames, various themes (based on ttkthemes), loading animations, tooltips, config parser, MongoDB API, JSON editor and more

Setup

  1. Clone repository: git clone https://github.com/Mnikley/Python-UI-Collection
  2. Navigate to folder: cd Tkinter/Template
  3. Install requirements: python -m pip install -r requirements.txt
  4. Run GUI: python GUI.py
tkinter template

Tkinter Bitpanda

Lightweight Bitpanda UI to fetch assets (crypto, ETF, index, metal), trades, fiat wallets and transactions via Bitpanda API

  • Requires a valid Bitpanda API Key
  • For conversion to fiat currencies (e.g. EUR), valid Forex Crypto Stock API key as well as a ExchangeRate API Key is required
  • Export to .json possible (temporary files which are deleted immediately and are only available in cache)
  • Hovering over balances, amount of transactions etc. gives extensive information as Tooltip

Setup

  1. Clone repository: git clone https://github.com/Mnikley/Python-UI-Collection
  2. Navigate to folder: cd Tkinter/Bitpanda
  3. Install requirements: python -m pip install -r requirements.txt
  4. Run GUI: python crypto_gui.py
  5. Enter valid API keys after first launch via the menu (will be stored in config.ini)
bitpanda app
bitpanda app console

Tkinter DatabaseAdmin

Tool i developed to help me manage my PostgreSQL database on a RaspberryPi, mainly for selecting and updating and deleting rows in an already created table. Functions to create a new table and MongoDB functionalities are WIP.

Setup

  1. Clone repository: git clone https://github.com/Mnikley/Python-UI-Collection
  2. Navigate to folder: cd Tkinter/DatabaseAdmin
  3. Install requirements: python -m pip install -r requirements.txt
  4. Run GUI: python gui.py
database admin app database admin update database admin delete database admin create

Tkinter Snippets

Collection of small tkinter apps and snippets available at Tkinter/Snippets/

  • DungeonsAndDragons/dnd.py - WIP of tkinter drag-and-drop application, e.g. for building an interactive dungeons and dragons map. Picture source
  • draw_polygon_color.py - Drawing app; Left-click = draw polygon; Doubleclick = fill polygon; Rightclick = select different fill-color
  • frame_change_background_color.py - Change frame background color after button click
  • table_app.py - Spreadsheet app based on pandastable
  • table_app_lite.py - Lightweight spreadsheet app based on tksheet
  • redirect_console_to_textbox.py - Redirect stdout & stderr to ScrolledText
  • resize_window_locked_aspects.py - Keep window proportion after resizing window
  • rightclick_menu_copy_paste.py - Test of a rightclick menu
  • text_editor.py - Text-editor with line-numbers (save function not implemented)

Kivy Template

This template should help to get started on how to create responsive desktop applications with the kivy framework including its wide variety of widgets. This template includes additional classes to enable tooltips and other usefull stuff.

Setup

  1. Clone repository: git clone https://github.com/Mnikley/Python-UI-Collection
  2. Navigate to folder: cd Kivy/Template
  3. Install requirements: python -m pip install -r requirements.txt
  4. Run GUI: python GUI.py
kivy template launch screen kivy template kivy template tooltips

Kivy Snippets

Collection of small kivy apps and snippets available at Kivy/Snippets/

  • tooltips/tooltip_test.py - Standalone tooltip classes and examples to add hover-behaviour to Button, Switch and Slider. Used in template
  • file_editor/main.py - Load/edit/save text-based files with filechooser
  • loop_clock/loop.py - Simple example of a scheduled thread via Clock
  • graph_objects.py - Official example of kivy graph objects
  • animated_graph.py - Example of threaded animated graph, requires kivy.garden.graph
  • MD_graph.py - Example of graph embedded in KivyMD app, requires kivymd and kivy.garden.graph