gpt4 book ai didi

kivy - 在 kivy 中获取数值属性的值

转载 作者:行者123 更新时间:2023-12-05 01:37:32 25 4
gpt4 key购买 nike

我正在尝试使用 NumericProperty,但在尝试将其用作值时出现类型错误

我的代码是这样的

from kivy.properties import NumericProperty
from kivy.uix.widget import Widget

class Segment(Widget):
def __init__(self, segments):
super(Segment, self).__init__()
self.segments = NumericPropery(segments)

def build(self):
for i in range(0, self.segments):
# Do something

我收到一个错误:

for i in range(0, self.segments):
TypeError: range() integer end argument expected, got kivy.properties.NumericProperty.

所以我尝试使用 self.segments.get()相反,但后来我得到了这个错误

TypeError: get() takes exactly one argument (0 given)

显然 get 函数需要 <kivy._event.EventDispatcher>对象参数

知道如何解决这个问题吗?

最佳答案

这段代码我也有类似的问题...

class GameModel(object):
some_number = NumericProperty(1)
def __init__(self):
self.some_number = 2

...引发错误:

TypeError: Argument 'obj' has incorrect type (expected kivy._event.EventDispatcher, got GameModel)

我确实在类级别声明了该属性。在我的情况下,问题是该类本身不是从 Kivy Widget 类派生的,或者 - 如错误消息中所述 - 来自 EventDispatcher 对象

从 EventDispatcher 派生解决了我的问题:

class GameModel(EventDispatcher):

希望有一天这对其他人有所帮助;-)

关于kivy - 在 kivy 中获取数值属性的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22932088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com