你好StackOverflow社區, 我想問一些幫助像以前一樣問我做了很長時間的研究,但沒有找到任何幫助我。如何綁定.kv文件上的按鈕以使其播放聲音?
我有一個學校項目,我決定用Python使用Kivy進行代碼跨平臺。我的項目是關於一個SoundBox,爲了簡化我需要先創建按鈕並綁定它們以播放各種聲音。在純Python代碼中(沒有.kv文件),我學會了如何綁定一個按鈕以使其播放聲音,因此我決定進入下一個屏幕管理部分。我瞭解到,現在使用.kv文件使其變得簡單,但我堅持如何使用.kv文件綁定按鈕。
我嘗試了一些東西,但總是在控制檯上出現錯誤,(但現在並不重要),我的淡入淡出過渡不起作用。 您的幫助是高度讚賞,在此先感謝。
的.py:
from kivy.app import App
from kivy.uix.button import Button
from kivy.core.audio import SoundLoader
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
sound = SoundLoader.load('Sunset_Lover.ogg')
sm = ScreenManager()
class ScreenManager(ScreenManager):
pass
class Menu(Screen):
pass
class Genre(Screen):
pass
class TestApp(App):
def build(self):
sm.add_widget(Menu(name='menu'))
sm.add_widget(Genre(name='genre'))
return sm
def son(self, instance):
if sound:
sound.play()
if __name__ == "__main__":
TestApp().run()
.kv:
#: import FadeTransition kivy.uix.screenmanager.FadeTransition
<ScreenManager>:
FadeTransition:
Menu:
Genre:
<Menu>:
BoxLayout:
Button:
text: "Commencer"
size_hint: 1, 1
pos_hint: {'x': 0.3, 'y':0.3}
on_press: root.manager.current = 'genre'
<Genre>:
BoxLayout:
Button:
text: "Exemple1"
size_hint: 0.2, 0.2
pos_hint: {'x': 0.2, 'y':0.2}
on_press: root.son()