状态栏的Python Tkinter程序

Bha*_*pta 3 python

from Tkinter import *
class StatusBar(Frame):   
    def __init__(self, master):
        Frame.__init__(self, master)
        self.label = Label(self, bd=1, relief=SUNKEN, anchor=W)
        self.label.pack(fill=X)        
    def set(self, format, *args):
        self.label.config(text=format % args)
        self.label.update_idletasks()
    def clear(self):
        self.label.config(text="")
        self.label.update_idletasks()
root = Tk()
root.update()
d =StatusBar(root)

d.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)

嗨朋友.这是我的状态栏代码.即使我没有收到任何错误或警告.我没有获得状态栏.但是我的Widget正在空洞中打开.任何人都可以在这方面帮助我.

谢谢

unu*_*tbu 8

在那; 它只是非常小,因为没有一个小部件需要很大的空间.如果在Label中放置一些文本或给出root几何图形,则会更容易看到:

import Tkinter as tk
class StatusBar(tk.Frame):   
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        self.variable=tk.StringVar()        
        self.label=tk.Label(self, bd=1, relief=tk.SUNKEN, anchor=tk.W,
                           textvariable=self.variable,
                           font=('arial',16,'normal'))
        self.variable.set('Status Bar')
        self.label.pack(fill=tk.X)        
        self.pack()

root=tk.Tk()
d=StatusBar(root)
root.geometry('300x100')
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

顺便说一句,要允许标签内的文本更改,请使用tk.StringVar.调用self.variable.set(...)将更改标签的文本.并清除它只是打电话self.variable.set('').