'从事件处理函数wxPython返回值'

2024-04-26 20:52:53 发布

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

因此,在普通的python脚本中,可以执行以下操作:

def func():
    i = 1
    return i
i = func()

一般来说,另一个python程序可以导入包含这个的文件,然后在他们的程序中说i=func(),他们就会得到i的值

我现在需要一个用户界面来激活一个类似的事件。比如:

^{pr2}$

我看过这些Call functions from within a wxPython event handlerReturn value from wxpython main frame,但它们并没有真正解决我在这里想做的事情


Tags: 文件from程序脚本eventreturndefwxpython
2条回答

是的,您可以独立调用事件处理程序,为什么不呢?在

def OnClick (self, event=None):
    if event==None: return self.LastMousePosition
    self.LastMousePosition = event.GetMousePosition()

pos = OnClick()

而且,从事件处理程序返回值是没有意义的。返回值只能向调用方指示某些内容。 例如,若处理程序返回True,则某些内容正在继续;若为False,则进程停止。在

只有当事件被触发时才会调用处理程序,无论是通过GUI输入还是您可以手动发布事件,从而模拟事件。在

您在答案中所写的是将值传递给事件处理程序的方式。就是这样做的。在

没有“从事件处理程序返回值”。在

也许,但只有可能,某个地方存在一个事件驱动的系统,它将返回存储到堆栈中,或者在某个地方供您以后提取它们。 WX不会的。在

好吧,这并不是问题的答案,因为它不处理返回值,但它完成了几乎相同的事情。在

因此,您要返回的值可以使用self(例如self.i)设置为类范围的特性,为了访问它,您只需说frame.i,一旦您在ifname='main'块下创建了MyForm对象,并将其分配给一个外部变量(即i=frame.i)。在

相关问题 更多 >