2015-04-12 78 views
0

我正在閱讀Mark Lutz編寫的Python,我遇到了一些我沒有得到的代碼。在Python中選擇/取消選擇方法

buttons = [] 

def onpress(i): 
    global state 
    state = i 
    for btn in buttons: 
     btn.deselect() 
    buttons[i].select() 

我得到它在做什麼,但我沒有得到這些選擇和取消選擇方法來自哪裏。我從來沒有見過這些列表方法(我和本書使用Python 3)。這些內置的方法?他們做什麼?我嘗試用我的Google-fu找出結果,但無濟於事。

回答

1

http://www.java2s.com/Tutorial/Python/0360__Tkinker/Deselectforradiobuttonssimplysetsthebuttonsassociatedvaluetoanullstring.htm

所以一個快速谷歌,如果你正在做這意味着你最有可能使用你在什麼地方丟失有關的代碼這種情況下,Tkinter的。

這些方法.deselect()和.select()實際上是tkinter Radiobuttons()方法。如果你是教程敬畏tkinter。 「從tkinter導入*」將導入這些類。如果不是,我不知道爲什麼它被排除在背景之外。

但是這段代碼的功能是'我',它是一個你點擊的按鈕,然後它將'狀態'設置爲'我',在'最後'狀態'寫''全局'然後取消選擇所有按鈕,並選擇「我」,這是您的新選擇。實際上,這意味着你只會選擇1個按鈕

如果你想知道爲什麼state是一個空字符串,那是因爲空字符串是tkinter中的第一個按鈕。當你傳入一個新的字符串時,它會給出新的項目,比如「I001」或其他東西。

+0

我感到有點尷尬。這些方法引用列表中的對象而不是列表本身就在我面前。通過閱讀你的文章,我意識到了這一點。 – yyyyQqxKNqHyy