Как мне изменить изображение в Kivy в основном как переключатель? - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь реализовать медиаплеер Bluetooth. Всякий раз, когда музыка c ставится на паузу, я хочу, чтобы кнопка сменилась на кнопку «Воспроизведение», а когда музыка играет c, я хочу, чтобы кнопка сменилась на кнопку «пауза».

Я создал пользовательский класс PButton, который соответствует суперклассам ToggleButtonBehavior и Image, и когда я нажимаю кнопку, он изменяется, поэтому я знаю, что функции переключения и источник обоих изображений верны. Однако, когда я приостанавливаю работу musi c на моем телефоне, я вижу, что источник изменился (журнал консоли), но изображение на экране не изменилось ?? Вот некоторый код:

class PButton(ToggleButtonBehavior, Image):
    def __init__(self, **kwargs):
        super(PButton, self).__init__(**kwargs)
        self.source = 'iconFolder/png/012-play.png'

    def on_state(self, widget, value):
        if value == 'down':
            self.source = 'iconFolder/png/011-pause.png'
        else:
            self.source = 'iconFolder/png/012-play.png'

class MainScreen(Screen):
    pImage = PButton()

    def update(self, *args):
        if musicObject.isPlaying == "playing":
            self.pImage.source = 'iconFolder/png/011-pause.png'
        else:
            self.pImage.source = 'iconFolder/png/012-play.png'

    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)
        Clock.schedule_interval(self.update, 1)

class JasmineApp(App):
    def build(self):
        return kv

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

Пожалуйста, дайте мне знать, если вам нужно что-нибудь еще. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...