Learn More

A framework for Python applications with graphical user interfaces.

The code

For more examples, take a look at the repository

import datetime

import gtk

from kiwi.datatypes import currency
from kiwi.ui.objectlist import Column, ObjectList

class Fruit:
    def __init__(self, name, price, expires, available):
        self.name = name
        self.price = price
        self.expires = expires
        self.available = available

fruits = ObjectList([Column('name', data_type=str),
                     Column('price', data_type=currency),
                     Column('expires', data_type=datetime.date),
                     Column('available', data_type=bool, editable=True)])

for i in [('Apple',     4.2,  datetime.date(2006, 01, 01), True),
          ('Pineapple', 2.5,  datetime.date(2006, 02, 01), False),
          ('Kiwi',      8,    datetime.date(2006, 01, 04), True),
          ('Banana',    0.15, datetime.date(2006, 11, 21), False),
          ('Melon',     5,    datetime.date(2006, 01, 01), False)]:
    fruits.append(Fruit(i[0], i[1], i[2], i[3]))

window = gtk.Window()
window.connect('delete-event', gtk.main_quit)
window.set_title('Fruits')
window.set_size_request(150, 180)

window.add(fruits)
window.show_all()

gtk.main()