[英]Setting Variable in Python Callback
所以我有一个分布在几个类中的小型python程序。 在主班上,我告诉我的标题屏幕班要显示,然后等待输入。 如果得到的输入是“ q”,它将返回我的主类,告诉它将stop标志设置为true。 否则,它只会循环。
这是我给标题屏幕提供的回调:
def quit():
stopped = True
在回调之外,stopped设置为False。 回调已注册好,并且没有问题,但似乎在titlescreen本地而不是在main中将stop设置为true。 我可以通过创建类stopFlag并执行完全相同的操作(对象中除外)来解决此问题。
我的问题是为什么我需要重新上课才能做到这一点? 有没有一种方法可以在main中设置仅是布尔值的全局标志,而无需从中创建对象? 我怎样才能得到该布尔值的回调引用?
编辑:
我声明像这样停止:
stopped = False
这是退出回调注册调用:
titleScreen.registerCallbackQuit(quit)
看起来像:
def registerCallbackQuit(self, callback):
self.callbackQuit = callback
如果在用户输入中得到一个,它将调用quit。
全局停止将工作(可能)。 人们使用类来避免全局变量(除其他外)。 如果“已停止”分布在许多文件中,则需要将其导入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.