Заставьте кнопку вести себя по-другому при повторном нажатии (Python) - PullRequest
2 голосов
/ 27 февраля 2012

Скажите, если у меня есть кнопка, которая воспроизводит звук, могу ли я сделать так, чтобы, если вы нажмете ее еще раз, она остановит музыку?

Я использую Python v.2.7, Easy Eclipse в качестве IDE и wxFormBuilder для Windows.

Вот мой код:

import gui
import wx
import wx.media
import pygame
import tkFileDialog

class MainFrame( gui.GUI_MainFrame):
    def __init__( self, parent ): #Definerar KunddatabasMainFrame
        pygame.init()
        gui.GUI_MainFrame.__init__( self, parent ) #Initierar MainFrame f�nstret
        self.sound1=pygame.mixer.Sound('beat1.wav')
        self.sound2=pygame.mixer.Sound('beat2.wav')
        self.recording = False

    def evtBrowse1(self, evt):
        tkFileDialog.askopenfilename()

    def evtSoOne(self, evt):
        self.sound1.play(loops=-1)

1 Ответ

4 голосов
/ 27 февраля 2012

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

Вы, конечно, можете расширить ее до переменной int, если хотите обрабатывать еще много случаев.

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