奇异果弹出窗口中的文本不在弹出窗口之外

时间:2020-01-02 01:01:29

标签: python kivy

在.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()

但是,结果是这样的:

enter image description here

如何使文本落在弹出窗口内?如果可能的话,我想使弹出窗口更大,并在窗口中有可滚动的文本。我尝试将size_hintpos_hint当作<P>的属性来使弹出窗口变大,并作为ScrollView的属性来将文本移到框中,但这似乎没有任何效果。 (我使用了0到1之间的值)

1 个答案:

答案 0 :(得分:1)

FloatLayout不会定位其子级,您必须这样做。因此,有三种方法可以更正您的P类:

  1. 添加一个pos_hint来放置ScrollView,大概像pos_hint: {'center_x': 0.5, 'center_y': 0.5}一样。

或者,

  1. P的超类从FloatLayout更改为RelativeLayout

或者,

  1. 只需放置ScrollView,就像pos: root.pos