2012-04-07 53 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