2012-04-07 79 views
0

您好我有這是由廷克列表框 調用的函數,所以我不能返回從中
基本上我有一個全局對象的價值,我想爲它分配一個功能 怎能內我做蟒蛇3 - 分配函數值

rlink = ('http://stackoverflow', 'pastbin.com', 'unix.com') 
    clink = ' ' 
    # the function 
    def listbinding(*args): 
     idxs = reslinkbox.curselection() 
     idx = int(idxs[0]) 

     clink = rlink[idx] 

我想RLINK [IDX]分配給碰杯這是一個全局對象 我不能調用函數,Tkinter的列表框調用該函數,所以我不能從它

回答

3

使用返回碰杯關鍵是global RD。

rlink = ('http://stackoverflow', 'pastbin.com', 'unix.com') 
clink = ' ' 
def listbinding(*args): 
    global clink 
    idxs = reslinkbox.curselection() 
    idx = int(idxs[0]) 

    clink = rlink[idx] 

<obligitory>使用全局變量一樣,更多的,往往不是一個壞主意,因爲它抹上你的程序中陳述遍佈模塊,而不是它分解成漂亮的,不連續的塊。防止這是名稱空間的全部目的。許多計算機科學家花費了很多年辛苦,不盡如人意的工作爲您提供這些知識。 </obligitory>

+0

感謝aaronasterling我不得不刪除clink =''以使其正常工作 – SRN 2012-04-07 02:17:28

+0

@aaronasterling:恕我直言,它也應該是強制性的建議替代方案。 – martineau 2012-04-07 11:48:32

+0

@ martineau,我同意。但是我不知道gui編程,我當然不知道tkinter。因此我不知道數據來自何處或最終需要何處。即使我知道tkinter,似乎沒有足夠的信息來推斷這些東西。如果提問者有興趣,他/她應該提供更多信息並提問。 – aaronasterling 2012-04-07 21:23:20