【问题标题】:Issues with changing color of basic Kivy app更改基本 Kivy 应用程序颜色的问题
【发布时间】:2015-09-19 15:49:29
【问题描述】:

我使用 Kivy 创建了一个简单的文本到语音转换应用程序,使用 FloatLayout 选项,但是在没有实际创建 .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 kivy


    【解决方案1】:

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

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

    【讨论】:

    • 我特别想改变整个窗口的背景颜色,因为它默认是黑色的。有什么办法吗?
    • 我还尝试使用 self.b.background_color = (1,0,0,1) 更改浮动布局颜色
    • FloatLayout 没有 background_color 属性。你的意思是画一个矩形并改变它的颜色吗?您有想要关注的代码源吗?
    • 无论如何,Window 本身有一个属性clearcolor 可以满足您的需求。你可以做例如from kivy.core.window import Window; Window.clearcolor = (1, 0, 0, 1).
    • kivy.core.window 属性的工作方式完全符合您的预期。非常感谢!
    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-15
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多