2012-07-09 57 views
0

我想知道如何添加更多的信息嵌入到按鈕中的事件。添加信息到tkinter中的事件

例如:

okButton = ttk.Button(content, text = 'OK') 
okButton.bind("<Button-1>", browseFile) 

def browseFile(event): 
    pass 

當按鈕點擊後,我想將字符串參數「OK」傳遞給函數browseFile,我需要做什麼?

由於

+0

爲什麼不在'browseFile'裏面做'myText ='OK''?爲什麼你需要將它作爲參數傳遞? – Kevin 2012-07-09 13:53:36

+0

我只想使用相同的函數回調兩個按鈕'OK'和'取消',所以每個按鈕發送一個不同的事件消息給函數... – nam 2012-07-09 13:59:33

回答

2

event對象具有widget構件,用於標識觸發事件的部件。您可以使用cget方法獲得該窗口小部件的文本:

def browseFile(event): 
    buttonText = event.widget.cget("text") 
    if buttonText == "OK": 
     doSomeStuff() 
+0

或者我可以裝飾okButton對象'okButton.myOwnStuff = '文字''所以我可以遲到? – nam 2012-07-09 14:21:04

+0

我沒有看到有關是否可以以這種方式安全使用自定義屬性的方式。它在我的機器上工作,所以它可能很好。 – Kevin 2012-07-09 14:47:12