Skip to main content

Use tkinter to create a handy GUI tool.

Project description

tkinterx

GitHub issues GitHub forks GitHub stars GitHub license HitCount PyPI - Python Version repo size contributors watcher

Use tkinter to create a handy GUI tool.

PyPI support available

You can install the latest version using the following command:

pip install tkinterx

The following command is used when called:

import tkinterx

A sample: Record your personal information

class Window(WindowMeta):
    def __init__(self, master=None, cnf={}, **kw):
        super().__init__(master, cnf, **kw)

    def create_widget(self):
        self.add_row('Please enter your name:', 'name')
        self.add_row('Please enter your age:', 'age')
        self.add_row('Enter your information saving path:', 'save_path')

    def save(self, path):
        table = self.table.todict()
        with open(path, 'w') as fp:
            json.dump(table, fp)

    def run(self):
        self.withdraw()
        name = self.table['name']
        age = self.table['age']
        save_path = str(self.table['save_path'])
        if '' in [name, age, save_path]:
            showwarning(self)
        else:
            self.save(save_path)
            askokcancel(self)


class Root(Tk):
    def __init__(self):
        super().__init__()
        self.label_var = StringVar()
        self.create_widgets()
        self.layout()

    def create_buttons(self):
        style = ttk.Style()
        style.configure("C.TButton",
                        foreground="green",
                        background="white",
                        relief='raise',
                        justify='center',
                        font=('YaHei', '10', 'bold'))
        self.table_button = ttk.Button(self, text='Fill in your name and age:',
                                       command=self.ask_table,
                                       style="C.TButton")

    def create_widgets(self):
        self.create_buttons()
        self.label = ttk.Label(self, textvariable=self.label_var)

    def ask_table(self):
        bunch = ask_window(self, Window)
        name, age = bunch['name'], bunch['age']
        self.label_var.set(f"{name}: {age}")

    def layout(self):
        self.table_button.pack()
        self.label.pack()


if __name__ == "__main__":
    root = Root()
    root.geometry('300x200')
    root.mainloop()

Interface presentation:

Figure 1: record your personal information

For more information: Chinese Manual.

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

tkinterx-0.0.9.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

tkinterx-0.0.9-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

File details

Details for the file tkinterx-0.0.9.tar.gz.

File metadata

  • Download URL: tkinterx-0.0.9.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for tkinterx-0.0.9.tar.gz
Algorithm Hash digest
SHA256 a826793d261aa23649eb78458a7ffb57017877b0fc84f81b3a134e145074ecb1
MD5 368043579a280d0b856991deb47c38b6
BLAKE2b-256 50ab44a6d70b1b7d87ad12adceba72c0ae6fb9f4a860550117072fbe8caa5538

See more details on using hashes here.

File details

Details for the file tkinterx-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: tkinterx-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for tkinterx-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 50fd2841d9044b280fe5bda5df8c13b4d95e51cdf378a9e3afa6a523f31a0ca5
MD5 635ec1bc7d8c99cc7a6c805b4614136d
BLAKE2b-256 fe6608c3cad71531c5146ede52e2da338f512ce373a4464292c8ca7150ffd386

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