Python, Kivy: Problem with calling functions from different classes/screens(Python,Kivy:从不同类/屏幕调用函数的问题)
问题描述
我在正确调用不同类的函数时遇到问题。
我正在做一个简单的游戏,它使用清除关卡所需的时间来计算分数。有一个秒表在后台运行,我想在弹出菜单中添加一个暂停按钮,并在此弹出菜单中添加一个恢复按钮。
问题是,当从弹出菜单中调用暂停函数时,它也会在弹出菜单中返回,而不是在主小工具中返回。
以下是代码的简化版本:
.kv文件:
我尝试创建一个函数并使用Clock.Schedule.Interval()来不断检查是否已暂停==True,但它一直返回:
AttributeError: 'float' object has no attribute 'stopped'
无论如何,这似乎不是一个有效的解决方案,所以我不想在这个函数上花费太多时间。我还试着找出"愚蠢的"错误(例如,‘,’而不是‘’。)但那是在我意识到恢复按钮返回的是‘秒’秒表而不是更新我真正想要使用的秒表之前。
我希望有人能帮忙,我的问题很清楚。英语不是我的母语,所以有时我很难找到最好的方式来解释/提问。
提前感谢!
推荐答案
如果我理解您的问题,问题出在您的MyApp
类:
此代码创建ExampleWidget
的两个实例。一个在build()
方法中返回,另一个保存为MyApp
的ExampleWidget
属性。现在,当您使用MyApp
的ExampleWidget
属性时,您引用的不是您的图形用户界面的根目录ExampleWidget
,因此它对屏幕上显示的内容没有影响。修复方法是只创建ExampleWidget
的单个实例,如下所示:
这篇关于Python,Kivy:从不同类/屏幕调用函数的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!