Две команды для одной кнопки, используя tkinter и pygame в python - PullRequest
0 голосов
/ 14 января 2019

Я делаю mp3-плеер на Python, используя tkinter и pygame. Я совершенно новичок в кодировании, и это один из первых проектов, над которым я работаю. Это обучение на практике. Я пытаюсь заставить кнопку паузы приостановить и снять паузу. Все, что он делает сейчас, это пауза.

Могу ли я использовать оператор if else для этого? Я два дня назад гуглял и пробовал много разных решений, но ни одно из них не сработало. Вот как теперь выглядит код.

self.pauseButton = Button(self, text = 'Pause', command = self.pause)

def pause(self):
   pygame.mixer.music.pause()
   pygame.mixer.music.unpause()

1 Ответ

0 голосов
/ 15 января 2019

Вы можете использовать текст кнопки для вашего преимущества.

self.toggleVolumeButton = Button(self, text = 'Pause', command = self.toggleVolume)

def toggleVolume(self):
    if self.toggleVolumeButton['text'] == 'Pause':
        pygame.mixer.music.pause()
        self.toggleVolumeButton['text'] = 'Unpause'

    elif self.toggleVolumeButton['text'] == 'Unpause':
        pygame.mixer.music.unpause()
        self.toggleVolumeButton['text'] = 'Pause'

Для доступа к тексту кнопки вы можете использовать любой из методов этого вопроса . Я выбрал словарь один.

Как вы можете догадаться, есть несколько способов выполнить эту задачу. Это только один из способов.

...