Skip to main content

A tkinter GUI builder.

Project description

Pygubu is a RAD tool to enable quick & easy development of user interfaces for the python tkinter module.

The user interfaces designed are saved as XML, and by using the pygubu builder these can be loaded by applications dynamically as needed. Pygubu is inspired by Glade.

IMPORTANT. Since version 0.10 pygubu was splited in two projects, the core library (this package) and the gui designer (pygubu-designer).

Installation

Pygubu requires python >= 2.7 (Tested only in python 2.7.3 and 3.2.3 with tk8.5)

Download and extract the tarball. Open a console in the extraction path and execute:

python setup.py install

Usage

Create an UI definition using pygubu-designer and save it to a file. Then, create your aplication script as shown below. Note that ‘mainwindow’ is the name of your Toplevel widget.

# helloworld.py
import tkinter as tk
import pygubu


class HelloWorldApp:

    def __init__(self):

        #1: Create a builder
        self.builder = builder = pygubu.Builder()

        #2: Load an ui file
        builder.add_from_file('helloworld.ui')

        #3: Create the mainwindow
        self.mainwindow = builder.get_object('mainwindow')

    def run(self):
        self.mainwindow.mainloop()


if __name__ == '__main__':
    app = HelloWorldApp()
    app.run()

See the examples directory or watch this hello world example on video http://youtu.be/wuzV9P8geDg

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pygubu-0.10.3.tar.gz (44.9 kB view hashes)

Uploaded Source

Built Distribution

pygubu-0.10.3-py3-none-any.whl (59.7 kB view hashes)

Uploaded Python 3

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