Skip to main content

Make Tkinter apps in an easy way using JSON.

Project description

EasyTk

Create Tkinter applications with help of JSON!

test = EasyTkObject()
test.create_root()
test.open_file("json/test.json")
test.reading_from_json()
test.start_root()

Installation

If you don't have tkinter installed in your environment,install it:

pip install tkintertable

then install this package.

Usage

JSON strucuture:
{
...,
  "Frame1": {
    "layout": "grid",
    "methods": [0,1,2],
    "master": "FrameContainer",
    "config": {},
    "grid": {"sticky": "NSEW"},
    "newRow": false
  },...
}

You stat with name of widget,for example: Frame1:{...},"LabelUsername":{...},"ButtonConfirm":{...},...

layout - currently you can use grid and pack "layout":"grid" or "layout:"pack"

methods - inside this list you can include indexes of methods that you will use,this is explained in Python part

master - to which master does this widget belong,be aware of which layout manager is used and that master exists

config - for example: "config":{"text":"TEST"}

grid - if you decided to use grid as layout then fill this with proper data,you don't have to include row and column,for example: "Button1":{...},Button2":{...},Button3":{..., "newRow":true },

Button1 is on row=0,column=0,Button2 is on row=0,column=1 and Button3 is on row=1,column=0. But you can also include row and column if you want.

pack - if layout is pack then include here attributes,or leave it blank.

If you use pack then it's necessary to include it in JSON object even if you don't have any value. For example:

...,
"Canvas": {
    "master": "Frame0",
    "layout": "pack",
    "pack": {"side":"left", "fill":"both", "expand":true},
    "config": {},
    "methods": [1]
  },
"Scrollbar": {
    "master": "Frame0",
    "layout": "pack",
    "pack": {},
    "config": {"orient": "vertical"},
    "methods": [2]
},
...

Both widgets work. And same applies to grid.

newRow - if layout is grid then use boolean value.

Python
from easy_tk import EasyTkObject

This class has all methods you need for "converting" JSON to Tkinter app.EasyTkObject mainly use EasyTk methods but in different way. You can override them.

  • create_root()
  • get(name,obj=True)- getting object of one widget if obj were False then you will get EasyTkChild object
  • import_methods(methods=[]) - put all your methods in list and use this method
  • import_modules(modules=[]) - put all your modules here,you can include your own widgets,default is this ["Frame","Entry","Button","Label","Separator","Radiobutton","Canvas","Scrollbar"],you can extend it
  • open_file(file) - setting your json file EasyTk
  • reading_from_json() - adding every widget to screen
  • add_just_one(file,key) - adding just one widget from json(again be sure that master there exist)
  • easy_factory() - factory for EasyTk object

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

easy_tk-1.0.3.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

easy_tk-1.0.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file easy_tk-1.0.3.tar.gz.

File metadata

  • Download URL: easy_tk-1.0.3.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for easy_tk-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e0d001a714a00ffab420c0d7720a529e5d74329cb14f6665fa167a0b3cedea87
MD5 ab64e786959175691b75789d559041c9
BLAKE2b-256 bb73f64364048fe38c76143fa3eda4de763d11c8d9a2c912a2390e9a6170d6db

See more details on using hashes here.

File details

Details for the file easy_tk-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: easy_tk-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

File hashes

Hashes for easy_tk-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2be5d127bd7cdde163a98c9642789ad2015df0b867349da0464420e3ff68e6d6
MD5 4f4efeb1a6641627f1d83f23e6143740
BLAKE2b-256 6091393d98f5a7ed102aaf031373676439b40fa2ed8a0808b66a618600a9b3f4

See more details on using hashes here.

Supported by

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