from tkinter import Frame, Labelclass MultiStatusBar(Frame):def __init__(self, master, **kw):Frame.__init__(self, master, **kw)self.labels = {}def set_label(self, name, text='', side='left', width=0):if name not in self.labels:label = Label(self, borderwidth=0, anchor='w')label.pack(side=side, pady=0, padx=4)self.labels[name] = labelelse:label = self.labels[name]if width != 0:label.config(width=width)label.config(text=text)def _multistatus_bar(parent): # htest #from tkinter import Toplevel, Frame, Text, Buttontop = Toplevel(parent)x, y = map(int, parent.geometry().split('+')[1:])top.geometry("+%d+%d" %(x, y + 175))top.title("Test multistatus bar")frame = Frame(top)text = Text(frame, height=5, width=40)text.pack()msb = MultiStatusBar(frame)msb.set_label("one", "hello")msb.set_label("two", "world")msb.pack(side='bottom', fill='x')def change():msb.set_label("one", "foo")msb.set_label("two", "bar")button = Button(top, text="Update status", command=change)button.pack(side='bottom')frame.pack()if __name__ == '__main__':from unittest import mainmain('idlelib.idle_test.test_statusbar', verbosity=2, exit=False)from idlelib.idle_test.htest import runrun(_multistatus_bar)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。