gpt4 book ai didi

python - Kivy 按钮 - 单击时播放声音

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:04 26 4
gpt4 key购买 nike

我看过一些答案,但我无法真正理解它们。当按下任何按钮时,我希望它播放“beep.wav”。我遇到的另一个问题是“返回布局”,我到底应该将其放在缩进的位置。非常感谢,迈克尔。

import kivy
import random
from kivy.core.audio import SoundLoader
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout


def callback(instance):
print('The button <%s> is being pressed' % instance.text)

red = [1,0,0,1]
green = [0,1,0,1]
blue = [0,0,1,1]
purple = [1,0,1,1]

class Buttons(App):
def Orientation(self, orient):
self.orient = orient

def build(self):
layout = BoxLayout(padding=0, orientation=self.orient)
colors = [red, green, blue, purple]

for i in range(4):
btn = Button(text="Test Button %s" % (i+1), background_color=random.choice(colors))
layout.add_widget(btn)
btn.bind(on_press=btn_pressed)
return layout

def btn_pressed():
sound = SoundLoader.load('beep.wav')
sound.play()

if __name__ == "__main__":
app = Buttons()
app.Orientation(orient="vertical")
app.run()

最佳答案

btn.bind(on_press=btn_pressed)

创建这个btn.bind(on_press=self.btn_pressed),它不是局部变量,但可以作为类方法进行访问。

Another problem I have is with the "return layout", where exactly should I be putting that in terms of indentation.

真正的问题是它应该返回到程序逻辑中的哪个位置?答案是该方法应该始终返回它,因为您始终希望它成为根小部件,因此您当前的位置(始终被调用的方法的最后一行)就可以了。

关于python - Kivy 按钮 - 单击时播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25734129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com