当事件发生时,Python从类返回值

2024-09-30 16:21:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有主申请表在档案里主.py和一些UI类uiwidgets.py. 在

在主.py我有:

import uiwidgets as uiw
uiw.MultiColumnListbox(header, data)

def doSomething(self, n)
    do something with n

在uiwidgets.py我有:

^{pr2}$

我需要将类中的n值返回到主.py当用户单击小部件时。我该怎么办?在


Tags: pyimportselfuidatadefas档案
1条回答
网友
1楼 · 发布于 2024-09-30 16:21:16

您只需在uiwidgets.py中的and处创建一个全局变量,并将其命名为“transfervar”或类似的名称。然后进来主.py你进口uiwidgets.py再一次。它应该能让你在主.py. 在

如果n的值很复杂或很长,也可以将其写入文本文件。但是你需要知道如何写和读文件。这是非常好的学习在“思考Python”,艾伦B唐尼,第14章。在

带有全局变量的代码如下所示:

    transfervar = None   #just to create, you could set it 0, too 

    class MultiColumnListbox(object):

    def __init__(self, header, data):
        self.header=header
        self.data=data

    ...

        self.tree.bind( "<Double-Button-1>", self.OnClick)

    def OnClick(self, event):
        global return_index
        item = self.tree.identify('item',event.x,event.y)
        if item is not "":      
            return_index = (int((item[1:4]),16) - 1)
            n = self.data[return_index][0]
            global transfervar     #needs to be declared as global
            transfervar = n

相关问题 更多 >