Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivy-更改标签颜色_Python_Python 2.7_Kivy - Fatal编程技术网

Python Kivy-更改标签颜色

Python Kivy-更改标签颜色,python,python-2.7,kivy,Python,Python 2.7,Kivy,有没有办法在不使用画布的情况下更改标签的背景颜色 当我运行代码时,背景颜色自动变为黑色 以下是我的简单代码: from kivy.app import App from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout class MyWindow(App): def build(self): box = BoxLayout() label = Label(te

有没有办法在不使用画布的情况下更改
标签的
背景颜色

当我运行代码时,背景颜色自动变为黑色

以下是我的简单代码:

from kivy.app import App

from kivy.uix.label import Label

from kivy.uix.boxlayout import BoxLayout

class MyWindow(App):

    def build(self):
        box = BoxLayout()
        label = Label(text='Hello World')
        box.add_widget(label)
        return box

window = MyWindow()

window.run()

谢谢你

背景色本身,不需要。你仍然需要在另一个小部件或类似的东西中更改它。但是如果你使用一种颜色的图片,那么它就是

标签本身没有背景,因此可以使用其
画布将其放置在那里,否则它是透明的。如果它是透明的,这意味着它可以显示另一个小部件的内容,例如它下面的小部件

因此,把它放在
图像
下面,你就基本上拥有了整个
画布
+
矩形
,其中包含
源代码
内容,但被分成了两个小部件。如果只想更改背景色,请打开例如
mspaint
,用单色填充,然后用Python加载

它可能无法正确使用
BoxLayout
,因为它会自动处理其子项的位置,但使用
FloatLayout
则不再是问题:

from kivy.app import App    
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout

class MyApp(App):

    def build(self):
        flt = FloatLayout()
        image = Image(size_hint=(None, None), size=(300, 300),
                      source=<path to image>)
        label = Label(size_hint=(None, None), size=(300, 300),
                      text='Hello World')
        flt.add_widget(image)
        flt.add_widget(label)
        return flt

MyApp().run()
从kivy.app导入应用
从kivy.uix.label导入标签
从kivy.uix.image导入图像
从kivy.uix.floatlayout导入floatlayout
类别MyApp(应用程序):
def生成(自):
flt=浮动布局()
图像=图像(大小提示=(无,无),大小=(300300),
来源=)
标签=标签(大小提示=(无,无),大小=(300300),
text='Hello World')
flt.add_小部件(图像)
flt.add_小部件(标签)
返回flt
MyApp().run()

可能重复的@WhiteShadow不是重复的,OP询问是否有与该问题中不同的方法:命名一个应用类
MyWindow
,其实例
window
可能会让人困惑:P