2016-11-14 10 views
2

캔버스를 사용하지 않고 Labelbackground_color을 변경하는 방법이 있습니까? 내가 코드를 실행으로 배경색이 automaticlly 찾을 검은 색Python 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(text='Hello World') 
     box.add_widget(label) 
     return box 

window = MyWindow() 

window.run() 

없이, 그 자체로 당신에게

+0

가능한 중복 http://stackoverflow.com/questions/20437728/change-button-or-label-text-color-in-kivy) –

+0

@WhiteShadow 중복이 ​​아니기 때문에 OP는 해당 질문과 다른 방법이 있는지 묻습니다. P – KeyWeeUsr

답변

0

배경 색상 감사가. 여전히 다른 위젯 또는 비슷한 것으로 변경해야합니다. 그러나 당신이 한 가지 색의 그림을 사용한다면 그것은 그렇습니다!

Label에는 배경이 없으므로 canvas을 사용하면됩니다. 그렇지 않으면 투명합니다. 투명하면 다른 위젯의 콘텐츠를 표시 할 수 있습니다. 그 밑에있는 것.

는 그래서 Image 아래에 넣어 당신은 기본적으로 전체 canvas + Rectangle source 것으로, 가지고 있지만, 두 개의 위젯으로 분리. 배경색 만 변경하려면 예 : 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에서 변경 단추 또는 레이블 텍스트 색상] (의
+1

App 클래스 'MyWindow'의 이름을 지정하고 그 인스턴스'window'는 사람들을 혼란스럽게합니다 : P – Tshirtman

+0

@Tshirtman Hups, fixed : D – KeyWeeUsr

관련 문제