AttributeError:'kivy.properties.ObjectProperty'对象没有属性

时间:2020-01-23 14:48:42

标签: python kivy

我尝试将纹理放入Image中,但出现此错误。似乎python无法从Image获得此属性,但应该如此。对不起,英语不好

这是我的kv.py文件

import cv2
import kivy
import numpy as np
from kivy.app import App
from kivy.core.image import Texture
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.clock import Clock
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
import SliderTest

class Wrapper(BoxLayout):
    def __init__(self, **kwargs):
        super(Wrapper, self).__init__(**kwargs)
        self.cam1 = ObjectProperty(None)


class CamMain(App):
    def build(self):
        Clock.schedule_interval(self.update, 1.0 / 33.0)
        self.capture = cv2.VideoCapture(0)
        return Wrapper()

    def update(self, dt):
        _, frame = self.capture.read()
        texture = Texture.create(size=(frame.shape[1], frame.shape[0]), colorfmt='bgr')
        result = cv2.flip(frame, 0)
        texture.blit_buffer(result.tostring(), colorfmt='bgr', bufferfmt='ubyte')
        App.get_running_app().root.cam1.texture = texture


if __name__ == "__main__":
    CamMain().run()

这是我的CamMain.kv文件

<Wrapper>:
    hue: hue
    saturation: saturation
    value:value
    cam1:cam1
    orientation: 'vertical'

    GridLayout:
        cols:2

        BoxLayout:
            orientation: 'vertical'
            spacing:20
            padding:25
            Image:
                id:cam1
                size: self.texture_size

App.get_running_app()。root.cam1.texture =纹理 AttributeError:“ kivy.properties.ObjectProperty”对象没有属性“ texture”

1 个答案:

答案 0 :(得分:0)

我只需要将cam1 = ObjectProperty(None)移到 init

之外