Я создал этот класс, чтобы начать фрейм для каждого объекта, я выполняю упражнение для игрока c.
class SoundPanel(Frame):
def _init_(self, app, mixer, sound_file):
Frame._init_(self, app)
self.track = mixer.Sound(sound_file)
self.track_playing = IntVar()
track_button = Checkbutton(self, variable = self.track_playing,
command = self.track_toogle,
text = sound_file)
track_button.pack(side = LEFT)
self.volume = DoubleVar()
self.volume.set(self.track.get_volume())
volume_scale = Scale(self, variable = self.volume,
from_ = 0.0,
to = 1.0,
resolution = 0.0,
command = self.change_volume,
label = "Volume",
orient = HORIZONTAL )
volume_scale.pack(side = RIGHT)
def track_toggle(self):
if self.track.playing.get() == 1:
self.track.playing(loops = -1)
else:
self.track.stop()
def change_volume(self, v):
self.track.set_volume(self.volume.get())
, когда я пытаюсь создать объект, показывает сообщение об ошибке, пример:
panel = SoundPanel(app, mixer, "som1.wav")
panel.pack()
ERROR:
panel = SoundPanel(app, mixer, "som1.wav")
TypeError: __init__() takes from 1 to 3 positional arguments but 4 were given
Я уже провел здесь свое исследование и попытался сократить / изменить параметры init ().
Справка Pls :)