Я использую Kivy для создания своего приложения для Android.Я хочу, чтобы пользователь мог взять и сохранить фотографию с помощью камеры, но у меня возникли некоторые проблемы.
Я написал код ниже.Он работает, но когда я нажимаю кнопку воспроизведения, камера все еще не работает.
Cameratest.py
class MainScreen(Screen):
def capture(self):
camera = self.ids['camera']
timestr = time.strftime("%Y%m%d_%H%M%S")
camera.export_to_png("temp/IMG_{}.png".format(timestr))
print("Captured")
class SettingScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
class CameratestApp(App):
def build(self):
pass
if __name__ == "__main__":
CameratestApp().run()
cameratest.kv
ScreenManagement:
MainScreen:
SettingScreen:
<MainScreen>:
name: 'main'
BoxLayout:
orientation: 'vertical'
Camera:
size_hint: 1, .7
id: camera
play: False
ToggleButton:
size_hint: 1, .1
text: 'Play'
on_press: camera.play = not camera.play
Button:
size_hint: 1, .1
text: 'Capture'
on_press: root.capture()
Button:
size_hint: 1, .1
text: "Go to Setting Page"
on_press: root.manager.current= 'setting'
<SettingScreen>:
name: 'setting'
BoxLayout:
orientation: 'vertical'
Label:
text: "Setting screen"
Button:
text: "Go to main page"
on_press: root.manager.current= 'main'
Есть три кнопкина моем главном экране: Play, Capture и «Перейти на страницу настроек».
Когда я нажимаю «перейти к странице настроек», экран переходит к странице настроек;это работает.
Когда я нажимаю «Захват», он работает, и фотография сохраняется идеально.
Однако, когда я нажимаю «Play», экран остается «белым», а камера не открывается.