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()
嗨, friend 。这是我的状态栏代码。尽管我没有收到任何错误或警告。我未能获得状态栏。但是我的小部件打开时里面是空的。任何人都可以在这方面帮助我。
谢谢
最佳答案
就在那里;它非常小,因为没有一个小部件需要太多空间。
如果在 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()
顺便说一下,要允许更改标签内的文本,请使用 tk.StringVar
。
调用 self.variable.set(...)
将更改标签的文本。要清除它,只需调用 self.variable.set('')
。
关于用于状态栏的 Python Tkinter 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8120246/