请原谅我,我是python和kivy的新人。对不起,我的英语不好。
我试图用kivy拍摄照片。
我的问题是每次照片的路径都不同,我不能像我的屏幕背景那样写source : 'path'
。 `
如何将文件名中包含的路径传递给我的kv文件?我在python / kivy之间完全迷失了,它可能很简单,但我找不到解决方案。
我的python文件的一部分:
class CountdownScreen(Screen):
def capture(self, nbr_rep):
for i in range(nbr_rep):
sleep(4)
self.dslr = Gphoto()
self.filename = self.dslr.capture_image()
class DisplayPicture(Screen):
pass
class PhotoboothApp(App):
countdown = CountdownScreen()
def build(self):
return RootScreen()
if __name__ == '__main__':
PhotoboothApp().run()
我的kv档案的一部分:
<ChooseScreen>:
name: "choose"
FloatLayout:
Image: #Background
source: "Interface_PNG/Page_3.png"
allow_stretch: True
keep_ratio: False
size_hint: 1, 1
Button: #1
id: b1
background_color: 0, 0, 0, 0
size_hint : 0.3, 0.5
pos_hint: {'x' : 0.025, 'center_y' : 0.5}
on_release: root.manager.current = "countdown"
on_release: app.countdown.capture(1)
<DisplayPicture>:
name: "display_picture"
FloatLayout:
Image: #Background
source: 'Interface_PNG/Page_6.png'
allow_stretch: True
keep_ratio: False
size_hint: 1, 1
Image: #Picture
source: ???
keep_ratio: False
allow_stretch: True
size_hint: 0.67, 0.72
pos_hint: {'center_x' : 0.565, 'center_y' : 0.50}
答案 0 :(得分:0)
来自kivy的Image
文档:
重载()
从磁盘重新加载图像。这有利于 如果图像内容发生变化,请从磁盘重新加载图像。
用法:
im = Image(source = '1.jpg') # -- do something -- im.reload() # image will be re-loaded from disk
如果您愿意,也可以在重新加载之前更改源路径。
im.source = "new_source.png"
请记住,这些更改必须以编程方式完成,因此您必须在代码中以某种方式触发它们,例如通过按下按钮。