更改基本 Kivy 应用程序颜色的问题

Issues with changing color of basic Kivy app

我使用 FloatLayout 选项使用 Kivy 创建了一个简单的文本到语音转换应用程序,但是在没有实际创建 .kv 文件(我不想这样做)的情况下更改 GUI 的颜色时遇到了问题。我的应用程序代码在这里:

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
import requests
from threading import Thread
import os

class ButtonApp(App):

    def talk(self):
        self.info.text = self.text.text
        command = "say %s" % (self.text.text)
        os.system(command)


    def say(self,instance):
        t = Thread(target=self.talk)
        t.start()
    def build(self):

        self.b = FloatLayout()


        self.info = Label(text="Hello!", pos=(20,400) ,size_hint=(1,0.5), font_size="40sp")

        self.text = TextInput(text='Hello!', pos=(20,200), size_hint=(1,0.5))

        self.submit = Button(on_press=self.say,text='Submit',pos=(20,100), size_hint=(1,0.5))

        self.b.add_widget(self.info)

        self.b.add_widget(self.text)

        self.b.add_widget(self.submit)

        self.b.bind()

        return self.b




if __name__ == "__main__":
    ButtonApp().run()

就像我之前提到的,我在之前的研究中发现的所有建议都涉及 Canvas(我没有使用)或创建 .kv 文件。是否有纯 python-kivy 方法来改变 GUI 的颜色?

你可以在纯 python 中做任何事情,尽管你看到这么多 kv 示例的原因是因为它是一种更特定于领域的语言,因此更容易和更简洁,所以我不建议避免使用它.

你到底想做出什么样的改变?例如,您可以使用 background_normalbackground_down 属性(获取图像的文件路径)更改 Button 的背景图像,或者通过将其 background_color 设置为例如来着色其颜色。 (1, 0, 0, 1) 代表红色。