【问题标题】:AttributeError: 'float' object has no attribute 'ids' when running kivy appAttributeError: \'float\' 对象在运行 kivy app 时没有属性 \'ids\'
【发布时间】:2022-12-14 11:20:55
【问题描述】:

我正在尝试制作一个应用程序,每秒从 kivy 的网络摄像头捕获 30 张图像。

但是当我运行它时,它给我这个错误:

AttributeError: 'float' object has no attribute 'ids'

这是重现问题的代码:

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock

Builder.load_string('''
<CameraClick>:
    orientation: 'vertical'
    Camera:
        id: camera
        resolution: (640, 480)
        play: True
''')


class CameraClick(BoxLayout):
    def capture(self):
        '''
        Function to capture the images from the camera
        '''

        camera = self.ids['camera']
        camera.export_to_png("IMG.png")
        print("Captured")

    event = Clock.schedule_interval(capture, 1 / 30.)


class TestCamera(App):

    def build(self):
        return CameraClick()


TestCamera().run()

此代码会引发错误,但删除 event = Clock.schedule_interval(capture, 1 / 30.) 可修复该错误,但我需要该行代码。

问题:

那么,如何修复错误,以便我可以从网络摄像头捕获图像并存储它们?

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    您希望您的行没有“。” 30 之后。这就是导致您的 float 类型错误的原因

    event = Clock.schedule_interval(capture, 1 / 30)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2016-04-15
      • 2020-01-11
      • 1970-01-01
      相关资源
      最近更新 更多