Как активировать камеру под макет экрана с помощью Kivy - PullRequest
0 голосов
/ 12 февраля 2019

Я использую 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», экран остается «белым», а камера не открывается.

This is the current User Interface

...