【发布时间】:2017-06-19 10:30:34
【问题描述】:
我正在尝试构建我的第一个 kivy 应用程序并创建一个简单的音频剪切工具。我正在使用滑块小部件来显示正在播放的歌曲中的位置(到目前为止有效),但我想让用户能够将滑块移动到所需位置并从所选位置播放歌曲。
到目前为止我的代码:
文件 main.py:
播放歌曲时自动移动(时钟间隔回调):
def my_callback(self, dt):
if not self.loaded:
pass
else:
if self.playing:
self.position = self.song.get_pos()
self.truePos_slider.value = 100 * self.position / self.duration
当用户触摸滑块并将其移动到另一个位置时,应该会发生这种情况:
def slider_move(self):
if self.loaded:
self.position = (self.truePos_slider.value/100) * self.duration
文件布局.kv:
...
BoxLayout:
orientation: 'vertical'
Slider:
id: truePos_slider
on_release: root.slider_move()
...
问题是来自 kivy 的 Slider 没有 Button 的 on_release 事件。我认为我的问题与此处描述的类似:
我实际上喜欢恶劣的解决方案,但我不知道我应该将 MySliderSubclass 的代码与 override 方法放在哪里,以便让我的 layout.kv 文件识别它。你能帮帮我吗?
如果这是一个愚蠢的问题,我很抱歉,我实际上也是 Python 的新手......
【问题讨论】:
-
欢迎来到 Stack Overflow!请edit您的问题显示the code you have so far。您应该至少包含您遇到问题的代码的大纲(但最好是minimal reproducible example),然后我们可以尝试帮助解决具体问题。您还应该阅读How to Ask。
-
@TobySpeight 感谢您的帮助!我按照您的建议添加了代码的重要部分。