TextTUI is a set of extensions to the Textual and Textual-Inputs libraries

Overview

TextTUI

TextTUI is a set of extensions to the Textual and Textual-Inputs libraries. Currently a Work in Progress that is based on the 0.1.14 branch of Textual.

NOTE: The 0.1.14 branch of Textual is the "early adopter" branch and will eventually be replaced with a "css" branch. At that point, this library will be in-compatible until appropriate updates are made to this repo (which I plan to do as quickly as possible at that time).

DISCLAIMER: I have been writing C/C++ code since 1986, but Python code only since November, 2021! I know this project is not packaged in a standard "Python way" ... I am still learning / trying to figure out how to do that. Take it for what it is.

screenshot

Installation

As mentioned in my disclaimer, I am still very new to Python and haven't yet trained myself how to create appropriate packages to specify dependencies or use 'pip install'. For now, simply install the required dependent packages manually:

pip3 install textual-inputs

Running the example

The example app was tested using Python 3.9 (it probabably works with 3.8 also). To run the app:

python3.9 sample_tui.py

Structure

The extended Textual widgets, layouts, etc. are in the 'tui' subdirectory (yes, I know, these should be in a 'src' directory eventually).

texttui
|
+--imgs        Images for the README.md
|
+--fft_data    FFT Magnitude data for the FFT Plot tab
|
+--tui
   |
   +-- layouts   Extended Textual layouts (control panel)
   |
   +-- views     Extended Textual views (control panel)
   |
   +-- widgets   Extended Textual widgets

Extended Widgets

The library currently offers the following widgets:

  • Check button
  • CliInput
  • Droplist
  • Dynamic (a widget that posts to it's parent when it is updated)
  • DynamicTable
  • FixedTitleTextInput (a Textual-inputs TextInput extension)
  • HoverButton (changes color when mouse is over it)
  • Label (static)
  • Plot widget
  • Radio button
  • Tab control

Known Bugs

  • If the console window is not tall enough, the display is garbled until the first resize.
  • If emojis are added to the Tab control which are "double wide", the right border doesn't display correctly (except for the few I detect which are used by the extended Checkbutton and Radiobutton widgets).
  • The Plot widget annotations can mess up the display if the annotation is on top of rendered graphics. This bug has been addressed and tested, but there may still be corner cases that still cause issues.
This a pythonTkinter GUI with sqlite3 Project.

FootballGym_MIS This a pythonTkinter GUI with sqlite3 Project. This software is useful if you want to enjoy running a gym. It helps you know which tea

Hikmatullah Mohammadi 2 Jun 19, 2022
The Python-Weather-App is a service that provides weather data

The Python-Weather-App is a service that provides weather data, including current weather data to the developers of web services and mobile applications.

Sayed Tabish 1 Dec 13, 2021
This repository contains some projects that I have done using Python + Tkinter.

This repository contains some projects that I have done using Python + Tkinter.

João Victor Vilela dos Santos 1 Nov 10, 2021
Weather-API-GUI-Tkinter - A weather tool made using tkinter which works by fetching query city weather using an API

Weather-API-GUI-Tkinter ☁️ ❄️ version- 1️⃣ . 0️⃣ . 0️⃣ This repo contains a weat

SasiVatsal 4 Jul 08, 2022
Pyabr lightweight OS with Python and Qt

Pyabr cloud computing software In the name of God, the Compassionate, the Merciful Pyabr © 2021 Mani Jamali. Free Software GNU General Public License

PyFarsi Software Foundation 88 Dec 26, 2022
psgresizer - a PySimpleGUI application that will resize your images and BASE64 encode them.

psgresizer A PySimpleGUI Application Resize your images quickly and easily with this GUI application. Resizes and encodes to Base64 so that the result

PySimpleGUI 10 Dec 25, 2022
Edifice: a declarative GUI library for Python

Edifice is a Python library for building reactive UI, inspired by modern Javascript libraries such as React.

David Ding 193 Dec 11, 2022
Pyint is the graphic software which is written in Python

Pyint About Pyint Pyint is the graphic software which is written in Python(I use the Turtle graphics). The name 'Pyint' is compound word of 'Python' a

John 1 Nov 06, 2021
A small manager/GUI Frontend for QEMU written in Python

qemu-manager A small manager/GUI Frontend for QEMU written in Python Requirements You'll need to have the following tools installed to run this: QEMU

yeppiidev 15 Dec 21, 2022
A simple browser for familiarity to PyQt :)

Erown_Browser a simple browser for familiarity to PyQt :) for start work with this install requirements by pip install -r requirements or you can use

Ehsan Amirahmadi 9 May 18, 2022
A GUI for designing Python GUI's for PySimpleGUI.

SimpleGUIBuilder A GUI for designing Python GUI's for PySimpleGUI. Installation There is none :) just download the file from a release and run it. Don

Miguel Martins 65 Dec 22, 2022
This is a GUI based text and image messenger. Other functionalities will be added soon.

Pigeon-Messenger (Requires Python and Kivy) Pigeon is a GUI based text and image messenger using Kivy and Python. Currently the layout is built. Funct

4 Jan 21, 2022
Primeira interface (simples) desenvolvida em Python utilizando o PySimpleGUI

Interface-Python Sobre o projeto Primeira interface gráfica (simples) desenvolvida em Python utilizando o PySimpleGUI Interface Gráfica Tecnologias ut

Matheus Maia Alvarez 5 Apr 09, 2022
GUI Pancakeswap 2 and Uniswap 3 SNIPER BOT 🥇 🏆 🥇

GUI Pancakeswap V2 and Uniswap V3 trading client (and bot) MOST ADVANCE TRADING BOT SUPPORT WINDOWS LINUX MAC (BUY TOKEN ON LAUNCH)

HYDRA 16 Dec 21, 2021
AppQuickLauncher is a tool that can quickly launch apps by clicking the app tray icon.

AppQuickLauncher AppQuickLauncher is a tool that can quickly launch apps by clicking the app tray icon. On Windows 7 or Windows 10, we can add a folde

yin kaisheng 2 Sep 11, 2022
Learn to build a Python Desktop GUI app using pywebview, Python, JavaScript, HTML, & CSS.

Python Desktop App Learn how to make a desktop GUI application using Python, JavaScript, HTML, & CSS all thanks to pywebview. pywebview is essentially

Coding For Entrepreneurs 55 Jan 05, 2023
NiceGUI is an easy to use, Python-based UI framework, which renderes to the web browser.

NiceGUI NiceGUI is an easy to use, Python-based UI framework, which renderes to the web browser. You can create buttons, dialogs, markdown, 3D scences

Zauberzeug GmbH 419 Jan 09, 2023
A simple one-line quick entry GUI for your Obsidian daily notes in markdown format.

Quick-note-entry-for-Obsidian A simple one-line quick entry GUI for your Obsidian daily notes in markdown format. Log your day quickly with this simpl

Adrian Papineau 22 Oct 04, 2022
Verify file hashes of downloaded files easily in a GUI

HASH-verify Verify file hashes of downloaded files easily in a GUI What it does... This gui based Python3 app calculates 3 types of file hashes and ca

Christian Richter-Pedersen 10 Dec 13, 2022
A simple fusee-launcher frontend for macOS

A simple fusee-launcher frontend for macOS (Universal). Supports macOS = 10.9. It has libusb statically linked, so you don't need to install anything

rob 25 Dec 19, 2022