Python/Kivy - 按钮位置
问题描述:
我是使用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。
答
因为使用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
答
BoxLayout将其子项放置在行/列中。如果你想设置一个孩子的特定位置,使用像FloatLayout这样的东西。
Tnx。我将BoxLayout更改为FloatLayout(当然也导入它),但是现在出现错误: “TypeError:object .__ init __()不带参数” 为什么? – JanezKranjski
@JanezKranjski请从您的布局初始化中移除orientation = vertical,就像我在回答中编辑的那样 –
您可以给出完整的错误 –