[英]How to change background color in kivy?
本人剛開始學習kivy,如有荒唐之處請多多包涵。
這里只是從官方網站復制粘貼代碼。
import kivy
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello world',)
if __name__ == '__main__':
MyApp().run()
output 在鏈接中。
我本質上想知道如何將背景(當前為黑色)更改為其他顏色。
我已經閱讀了文檔的某些部分,找到了用於更改小部件顏色但屏幕顏色的文檔(可能不是准確的詞)。
我真的很感激你的意見和建議。
提前致謝。
您可以使用canvas
的Label
來繪制這樣的背景顏色:
import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
class MyLabel(Label):
pass
Builder.load_string('''
<MyLabel>:
canvas.before:
Color:
rgba: 1,0,0,1
Rectangle:
pos: self.pos
size: self.size
''')
class MyApp(App):
def build(self):
return MyLabel(text='Hello world',)
if __name__ == '__main__':
MyApp().run()
在不使用kv
語言的情況下執行此操作更加復雜,因為您必須設置kv
語言自動為您完成的pos
和size
的綁定。 這是不使用kv
的等價物:
from kivy.app import App
from kivy.graphics import Color, Rectangle
from kivy.uix.label import Label
class MyLabel(Label):
def __init__(self, **kwargs):
super(MyLabel, self).__init__(**kwargs)
with self.canvas.before:
Color(1, 0, 0, 1)
self.rect = Rectangle(pos=self.pos, size=self.size)
def on_pos(self, *args):
self.rect.pos = self.pos
def on_size(self, *args):
self.rect.size = self.size
class MyApp(App):
def build(self):
return MyLabel(text='Hello world',)
if __name__ == '__main__':
MyApp().run()
有關canvas
的更多信息,請參閱文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.