2017-11-11 144 views
0

我是使用Kivy的noob。如你所見,我用一個按鈕創建了一個簡單的窗口。但爲什麼按鈕不會變成(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請從您的佈局初始化中移除orientation = vertical,就像我在回答中編輯的那樣 –

+0

您可以給出完整的錯誤 –

-1

BoxLayout將其子項放置在行/列中。如果你想設置一個孩子的特定位置,使用像FloatLayout這樣的東西。