在.kv文件中,我有
<P>:
ScrollView:
Label:
size_hint_y: None
text_size: (self.width, None)
id: table
height: self.texture_size[1]
在相应的.py文件中,我有
class P(FloatLayout):
def __init__(self, data1, data2, **kwargs):
super().__init__(**kwargs)
self.ids.table.text = str(data1[0] + data2[0])
def show_popup(data1, data2):
show = P(data1, data2)
popupWindow = Popup(title='Settings Window', content=show, size_hint=(None, None), size=(400, 400))
popupWindow.open()
但是,结果是这样的:
如何使文本落在弹出窗口内?如果可能的话,我想使弹出窗口更大,并在窗口中有可滚动的文本。我尝试将size_hint
和pos_hint
当作<P>
的属性来使弹出窗口变大,并作为ScrollView
的属性来将文本移到框中,但这似乎没有任何效果。 (我使用了0到1之间的值)
答案 0 :(得分:1)
FloatLayout
不会定位其子级,您必须这样做。因此,有三种方法可以更正您的P
类:
pos_hint
来放置ScrollView
,大概像pos_hint: {'center_x': 0.5, 'center_y': 0.5}
一样。或者,
P
的超类从FloatLayout
更改为RelativeLayout
。或者,
ScrollView
,就像pos: root.pos
。