##概要
kivyで二枚の画像をリロードし続けるプログラムを書いています。
python側でself.image_L = Image(source=self.image_L_src)
として作成した画像を、self.image_L.reload()
でリロードできるということは理解できたのですが、.kvファイル側でその画像をどう指定すればよいのかわかりません。指定方法についてご教示願えないでしょうか。
.kvファイルを使用せず.pyファイルのみでGUIを作成する方法でも、上の画像の通りの配置で更新し続けることができるのであれば、それでも大丈夫です。
##現在のコード
handtrackingは、カメラ映像をもとに./Image_layer/ImgRight_0.pngを編集し続けるものです。
詳細はこちらです
python
1from kivy.config import Config 2from kivy.app import App 3from kivy.uix.widget import Widget 4from kivy.uix.image import Image 5from kivy.properties import StringProperty ,ObjectProperty 6from kivy.core.text import LabelBase,DEFAULT_FONT 7from kivy.resources import resource_add_path 8from kivy.clock import Clock 9from kivy.graphics.texture import Texture 10from kivy.graphics import Rectangle 11 12import os 13import glob 14import random 15import threading 16import time 17 18import handtracking 19 20 21class SmartGlassWidget(Widget): 22 image_L_src = StringProperty("") 23 image_R_src = StringProperty("") 24 25 def __init__(self, **kwargs): 26 super(SmartGlassWidget,self).__init__(**kwargs) 27 self.image_L_src = "./Image_layer/ImgLeft_0.png" 28 self.image_R_src = "./Image_layer/ImgRight_0.png" 29 30 self.image_L = Image(source=self.image_L_src) 31 self.image_R = Image(source=self.image_R_src) 32 self.handtrackingApp=handtracking.Handtracking() 33 pass 34 35 def update(self,dt): 36 print("更新") 37 self.handtrackingApp.run() 38 self.image_L.reload() 39 40 def StartbuttonClicked(self): 41 Clock.schedule_interval(self.update,0.01) 42 pass 43 44class SmartGlassApp(App): 45 def __init__(self,**kwargs): 46 super(SmartGlassApp,self).__init__(**kwargs) 47 self.title = "SmartGlass" 48 49 def build(self): 50 return SmartGlassWidget() 51 52if __name__ == "__main__": 53 SmartGlassApp().run()
kv
1SmartGlassWidget: 2 3<SmartGlassWidget>: 4 BoxLayout: 5 orientation: "vertical" 6 size: root.size 7 BoxLayout: 8 Image: 9 source: root.image_L_src 10 Image: 11 source: root.image_R_src 12 13 Button: 14 size_hint_y:0.2 15 text:"Start App" 16 color: 1,0.5,0,1 17 on_press: root.StartbuttonClicked()
表示している画像はkvファイルで
kv
1Image: 2 source: root.image_L_src
として指定したものです。
update関数でself.image_L.reload()し続けていますが、self.image_Lを表示してはいません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/12 01:11
2021/04/12 10:44
2021/04/13 10:22
2021/04/13 12:53
2021/04/13 12:55
2021/04/13 12:56