亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python 批量添加的button 使用同一點(diǎn)擊事件的方法

 更新時(shí)間:2019年07月17日 09:09:48   作者:Cod_erL  
今天小編就為大家分享一篇python 批量添加的button 使用同一點(diǎn)擊事件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

python 批量添加的button 使用同一點(diǎn)擊事件根據(jù)傳遞的參數(shù)進(jìn)行區(qū)分。

def clear_text():

  print '我只是個(gè)清空而已'
def clear_text(index):

  print '我只是個(gè)清空而已' +str(index)
button = Button(framet_title, text='清空', command=clear_text)

這樣去設(shè)置,單個(gè)按鈕對(duì)應(yīng)單個(gè)點(diǎn)擊事件沒(méi)有問(wèn)題的

如果你是

for i in Range(10):

button = Button(framet_title, text='清空', command=clear_text_list(i))

這樣搞的話 當(dāng)你程序啟動(dòng)的時(shí)候 回調(diào)函數(shù)就會(huì)直接執(zhí)行,點(diǎn)擊按鈕是沒(méi)有任何反應(yīng)的,使用 button.bind的方式幾乎是一樣的

這種寫(xiě)法 如果是在JAVA C HTML C++ 是沒(méi)有任何問(wèn)題的。請(qǐng)?jiān)?我是個(gè)做android開(kāi)發(fā) 程序員。我最納悶的是 我明明 是每個(gè)按鈕都給他單獨(dú)設(shè)置了 回調(diào)。為什么會(huì)提前回調(diào),并且 點(diǎn)擊的時(shí)候沒(méi)有任何反應(yīng)。

for i in Range(10):

button = Button(framet_title, text='清空', command=lambda:clear_text_list(i))

如果在 添加 lambda 程序啟動(dòng)是不會(huì)回調(diào)了。但是每次點(diǎn)擊 獲得的索引還是最后一個(gè)。

Google 了一圈 (說(shuō)實(shí)話 我不知道用什么關(guān)鍵字。。。) http://stackoverflow.com/ 上面我嘗試 python buttons command lambda

找到了 http://stackoverflow.com/questions/20596892/disabling-buttons-after-click-in-tkinter

正確的姿勢(shì)是

for index in range(9): 
 n=letters[index]
 
 button = Button(root, bg="White", text=n, width=5, height=1, relief=GROOVE,
     command=lambda index=index, n=n: appear(index, n))

看到答案 之后 開(kāi)始找答案對(duì)的理由吧 他是用lambda 表達(dá)式 做成了個(gè) 點(diǎn)擊事件的集合 正好對(duì)應(yīng) button的集合。

以上這篇python 批量添加的button 使用同一點(diǎn)擊事件的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論