2012-06-27 36 views
1

所以我有一個Tkinter小部件,在網上抓取結果。我希望它向窗口小部件輸出幾個值,而不是Python IDLE控制檯。我會怎麼做?我會以編程方式/動態設置標籤嗎?我查過的每個示例都是如何將內容初始化爲一個入口小部件,這不是我想要的。正確的方式來填充一個字段/產生一個小部件內的值

等,例如,假設你有一個小工具盒

---------- 
[  ] 
[ Search ] 
[  ] 
[ Output ] 
---------- 

我想,每當我點擊搜索,輸出值在輸出部分顯示。

我該怎麼做?

回答

0

是的,你會在gui中設置一個標籤。您可以使用text=StringVar在整個代碼中動態更改標籤。其中StringVar是一個變量,當您更改StringVar的值時,它會更改標籤的值。另外,StringVar必須是tkinterstringvar對象。

0

當然可以。您可以設置一個變量來保存Tkinter標籤的值。使用該變量,您可以調用.get()和.set()以隨時更改它。

下面是一個簡單的例子,只是將更新標籤與了time.time的電流值()

import Tkinter 
import time 

class DynamicLabelExample(Tkinter.Frame): 
    def __init__(self, parent): 
     Tkinter.Frame.__init__(self, parent) 
     self.pack() 
     Tkinter.Button(self, text="Search", command=self.update_output).pack() 
     self.output_container = Tkinter.StringVar() 
     Tkinter.Label(self, textvariable=self.output_container).pack() 


    def update_output(self): 
     self.output_container.set(time.time()) 

root = Tkinter.Tk() 
ex = DynamicLabelExample(root) 
root.mainloop() 

self.output_container是我們的Tkinter STRINGVAR我們操縱我們每次按下該按鈕。

Source

0

您可以修改標籤內容與configure方法。例如:

import Tkinter as tk 
import time 

class SampleApp(tk.Tk): 
    def __init__(self): 
     tk.Tk.__init__(self) 
     self.button = tk.Button(self, text="Show time", command=self.on_show_time) 
     self.label = tk.Label(self) 
     self.button.pack() 
     self.label.pack() 

    def on_show_time(self): 
     self.label.configure(text=time.asctime()) 

app = SampleApp() 
app.mainloop() 
相關問題