2017-11-11 9 views
0

나는 Kivy를 사용하면서 멍청하다. 보시다시피 버튼이있는 간단한 창을 만들었습니다. 하지만 버튼이 (200, 200)으로 바뀌지 않는 이유는 무엇입니까?Python/Kivy - 버튼 위치

def build(self): 
    layout = BoxLayout(orientation='vertical') 
    self.labela = Label(text=celotnobesedilo, font_size=14) 
    gumb = Button(text='SEND', font_size=12, size_hint=(None, None), size=(200, 50), pos=(200, 200)) 
    gumb.bind(on_press=self.posljipodatke) 
    layout.add_widget(gumb) 
    layout.add_widget(self.labela) 
    return layout 

무엇이 잘못 되었나요? 버튼이 표시되지만 항상 위치 (0,0)에 있습니다. Tnx.

답변

0

BoxLayout을 사용하고 있기 때문에 boxlayout의 자식 위치가 자신의 위치에 따라 다르므로 대신 floatlayout을 사용할 수 있지만 레이아웃을 변경하지 않으려면 pos_hint 속성을 사용할 수 있습니다 :

def build(self): 
     layout = FloatLayout() 
     self.labela = Label(text='celotnobesedilo', font_size=14) 
     gumb = Button(text='SEND', font_size=12, size_hint=(None, None), size=(200, 50), pos=(200, 200)) 
     gumb.bind(on_press=self.posljipodatke) 
     layout.add_widget(gumb) 
     layout.add_widget(self.labela) 
     return layout 
+0

Tnx. BoxLayout을 FloatLayout으로 변경했는데 (물론 가져 오기), 이제는 오류가 발생합니다 : "TypeError : object .__ init __()에 매개 변수가 없습니다" 왜? – JanezKranjski

+0

@ JanezKranjski 방향을 제거하십시오 = 내 대답을 편집 한 것처럼 레이아웃의 초기화에서 세로 –

+0

완전한 오류 –

-1

BoxLayout은 하위를 행/열에 배치합니다. 특정 위치를 설정하려면 FloatLayout과 같은 것을 사용하십시오.