2011-11-14 41 views
1
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() 

こんにちはフレンド。これはステータスバーのコードです。エラーや警告は表示されませんでしたが。ステータスバーを取得できませんでした。しかし、私のウィジェットは空になって開かれています。誰かがこの面で私を助けてください。ステータスバーのPython Tkinterプログラム

ありがとうございました

答えて

6

それはあります。ウィジェットのどれも多くのスペースを要求していないので、それはちょうど非常に小さいです。ところで、

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を使用:あなたがラベルにテキストを置く、またはrootにジオメトリを与えた場合 、見るために容易になるだろう。 self.variable.set(...)を呼び出すと、ラベルのテキストが変更されます。それをクリアするにはself.variable.set('')に電話してください。