将 ScrollView 添加到 kivy 弹出窗口

Posted

技术标签:

【中文标题】将 ScrollView 添加到 kivy 弹出窗口【英文标题】:Add a ScrollView to kivy Popup 【发布时间】:2017-01-01 20:39:18 【问题描述】:

我正在尝试将 ScrollView 添加到在主界面上单击按钮时打开的弹出窗口。但是滚动视图没有正确显示内容。我该如何解决这个问题?

from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.popup import Popup
from kivy.uix.scrollview import ScrollView
from kivy.app import App
from kivy.core.window import Window

def btn_clicked(instance):
    layout_popup = GridLayout(cols=1, spacing=10, size_hint_y=None)
    layout_popup.bind(minimum_height=layout_popup.setter('height'))

    for i in range(0, 15):
        btn1 = Button(text=str(i), id=str(i))
        layout_popup.add_widget(btn1)

    root = ScrollView(size_hint=(1, None), size=(Window.width, Window.height))
    root.add_widget(layout_popup)
    popup = Popup(title='Numbers', content=root, size_hint=(1, 1))
    popup.open()

class TutorialApp(App):
    def build(self):
        g = GridLayout(cols=1)
        btn = Button(text='Click')
        btn.bind(on_press=btn_clicked)
        g.add_widget(btn)
        return  g


TutorialApp().run()

【问题讨论】:

【参考方案1】:

size_hint_y=None 传递给按钮构造函数,它应该可以工作。

【讨论】:

以上是关于将 ScrollView 添加到 kivy 弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章