Skip to main content

Framework for console GUI apps

Project description

Framework for console GUI apps

Установка

Установить через pip:

pip install FloriaConsoleGUI --upgrade

Или скачать исходный код из PyPi

Использование

Рекомендуется писать код только в самом python

Пример обычного использования:

main.py:

from random import random as rdf

from FloriaConsoleGUI import *
from FloriaConsoleGUI.Graphic.Widgets import *
from FloriaConsoleGUI.Graphic.Windows import *
from FloriaConsoleGUI.Managers import *

@Core.init_all_event.dec
def init():
    WindowManager.openNewWindow(
        TitledWindow(
            size=(20, 10),
            frame=True,
            title=' Example ',
            
            widgets=[
                Label(
                    text='hello world!',
                    name='label'
                )
            ]
        )
    )

@Core.SimulationThread.sim_event.dec
def simulation():
    label: Label = Widget.getByName('label')
    if label is not None:
        label.text = f'{rdf():.4f}'


if __name__ == '__main__': 
    Core.init()
    Core.start()
    Core.term()

Однако, для удобства есть динамическое обновление:

  • .json - для древа
  • .py - для скриптов (не рекомендуется из-за специфики реализации)

Не обязательно использовать сразу оба

Пример с динамическим обновлением:

main.py:

from FloriaConsoleGUI import *
from FloriaConsoleGUI.Managers import Parser


@Core.init_all_event.dec
def init():
    Core.addDynamicModule('dyn.py', 'dyn')
    Parser.setFile('./dyn.json')

@Core.SimulationThread.sim_event.dec
def simulation():
    Core.checkDynamicModules()
    Parser.checkUpdate()    


if __name__ == '__main__': 
    Core.init()
    Core.start()
    Core.term()

dyn.py:

from random import random as rdf

from FloriaConsoleGUI import *
from FloriaConsoleGUI.Graphic.Widgets import *


@Core.SimulationThread.sim_event.dec
def simulation():
    label: Label = Widget.getByName('label')
    if label is not None:
        label.text = f'{rdf():.4f}'

dyn.json:

[
    {
        "class": "TitledWindow",
        
        "size": [20, 10],
        "frame": true,
        "title": " Example ",

        "widgets": [
            {
                "class": "Label",
                "name": "label",

                "text": "hello world!"
            }
        ]
    }
]

Результат:

example window

Документация

На данный момент документация разрабатывается...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FloriaConsoleGUI-1.0.7.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

FloriaConsoleGUI-1.0.7-py3-none-any.whl (40.0 kB view details)

Uploaded Python 3

File details

Details for the file FloriaConsoleGUI-1.0.7.tar.gz.

File metadata

  • Download URL: FloriaConsoleGUI-1.0.7.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.7

File hashes

Hashes for FloriaConsoleGUI-1.0.7.tar.gz
Algorithm Hash digest
SHA256 2fc377fb6feb465567820776d62bb2ff18306ac1458c806a9564aab3063be9be
MD5 ecb04931dde77e5a1031d1133afb0fb7
BLAKE2b-256 633e866fe8173977f815ffbd3806086b689fe7f32e904e826df6c2f031d8e740

See more details on using hashes here.

File details

Details for the file FloriaConsoleGUI-1.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for FloriaConsoleGUI-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf6764560d4b3b74a134d9e68507ab90345afc2882891ada1cb6e06382c8c50
MD5 3140fdb1b9fc9eb69476a00f4aff6d64
BLAKE2b-256 714a49f25c8b26efbadc8233d745137a5c801b3d66110d69706f00c551c14043

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page