2008-05-17 20:39:55 +02:00
|
|
|
from tkinter import *
|
2000-08-15 03:13:23 +02:00
|
|
|
|
|
|
|
class MultiStatusBar(Frame):
|
|
|
|
|
2001-07-13 19:52:08 +02:00
|
|
|
def __init__(self, master=None, **kw):
|
|
|
|
if master is None:
|
|
|
|
master = Tk()
|
2003-07-09 20:48:24 +02:00
|
|
|
Frame.__init__(self, master, **kw)
|
2001-07-13 19:52:08 +02:00
|
|
|
self.labels = {}
|
|
|
|
|
|
|
|
def set_label(self, name, text='', side=LEFT):
|
2006-08-22 17:45:46 +02:00
|
|
|
if name not in self.labels:
|
2001-07-13 19:52:08 +02:00
|
|
|
label = Label(self, bd=1, relief=SUNKEN, anchor=W)
|
|
|
|
label.pack(side=side)
|
|
|
|
self.labels[name] = label
|
|
|
|
else:
|
|
|
|
label = self.labels[name]
|
|
|
|
label.config(text=text)
|
2000-08-15 03:13:23 +02:00
|
|
|
|
|
|
|
def _test():
|
2001-07-13 19:52:08 +02:00
|
|
|
b = Frame()
|
|
|
|
c = Text(b)
|
|
|
|
c.pack(side=TOP)
|
|
|
|
a = MultiStatusBar(b)
|
|
|
|
a.set_label("one", "hello")
|
|
|
|
a.set_label("two", "world")
|
|
|
|
a.pack(side=BOTTOM, fill=X)
|
|
|
|
b.pack()
|
|
|
|
b.mainloop()
|
2000-08-15 03:13:23 +02:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2001-07-13 19:52:08 +02:00
|
|
|
_test()
|