1
我遇到了Kivy中的TextInput问题。Kivy Python-文本输入框填充整个浮动布局屏幕
当我把它添加到现有的FloatLayout
在我的屏幕之一,它占据了整个窗口,即使有规定的高度。我想保留在.py文件中,所以请不要在.kv文件中添加任何样式选项来调整大小。
class WebsiteInput(Screen):
def __init__(self, **kwargs):
super(WebsiteInput, self).__init__(**kwargs)
Clock.schedule_once(self._finish_init)
def _finish_init(self, dt):
# Title Label
self.lbl1 = Label(text="Enter a URL to bind to this button:", pos=(self.x, self.height +132))
self.lbl1.font_name = 'Montserrat-Bold.ttf'
self.lbl1.font_size = 28
self.ids.float_web.add_widget(self.lbl1)
# URL Text Input
self.web_input = TextInput(height=100)
self.web_input.height = 100
self.ids.float_web.add_widget(self.web_input)
正如你可以看到我已经试过影响两个不同位置的大小,它仍然是充满整个窗口。
你能告诉我的尺寸和size_hint之间的区别?它不是多余的吗? – John
@奥斯汀它不是多余的,'size'表示一个**绝对**大小(以像素为单位)。在另一方面,'size_hint'表示尺寸,但相对于** **与母体大小,it's父大小(范围0到1)的一小部分。对于大小,小部件总是具有相同的大小,使用'size_hint',如果父项增长,则子项增长以保持比例。在你的情况,如果你调整窗口的大小,高度的TextInput将永远是100,但宽度将增加到占据整个FloatLayout宽度(1 = 100%)。 – FJSevilla