在第五章中的seekbar.py中有如下兩個方法
def on_seekbar_clicked(self, event=None):
if event.x > 0 and event.x < self.width:
self.slide_to_position(event.x)
def slide_to_position(self, new_position):
self.coords(self.red_rectangle, 0, 0, new_position, new_position)
self.coords(self.seekbar_knob, new_position, 0)
self.event_generate("<<SeekbarPositionChanged>>", x=new_position)
self.event_generate("<<SeekbarPositionChanged>>", x=new_position)這句代碼的位置錯了,應該改成:
def on_seekbar_clicked(self, event=None):
if event.x > 0 and event.x < self.width:
self.slide_to_position(event.x)
self.event_generate("<<SeekbarPositionChanged>>", x=event.x)
def slide_to_position(self, new_position):
self.coords(self.red_rectangle, 0, 0, new_position, new_position)
self.coords(self.seekbar_knob, new_position, 0)
是應該當seekbar被點選後才用自定義事件傳遞點選位置,進而調整播放時間。
bug在于不是不能實作上述功能,而是會産生一個新的播放器去播放調整後的時間。