33 lines
680 B
Python
33 lines
680 B
Python
|
from Tkinter import *
|
||
|
|
||
|
class MultiStatusBar(Frame):
|
||
|
|
||
|
def __init__(self, master=None, **kw):
|
||
|
if master is None:
|
||
|
master = Tk()
|
||
|
apply(Frame.__init__, (self, master), kw)
|
||
|
self.labels = {}
|
||
|
|
||
|
def set_label(self, name, text='', side=LEFT):
|
||
|
if not self.labels.has_key(name):
|
||
|
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)
|
||
|
|
||
|
def _test():
|
||
|
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()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
_test()
|