Просмотр прокрутки КИВИ ничего не покажет, только пустой экран

#python #user-interface #kivy #scrollview #kivymd

Вопрос:

Я создал макет стека со 100 кнопками в нем. Это само по себе работает, но когда я добавляю макет стека в разделе макет вида прокрутки, на экране ничего не отображается.без использования вида прокрутки

когда используется вид прокрутки

Код на Python

 from  kivy.app import App
from kivy.metrics import dp
from kivy.uix.stacklayout import StackLayout
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView




class stacklayoutex(StackLayout):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
        for i in range(100):
            b=Button(text=str(i 1),size_hint=(None,None),size=(dp(100),dp(100)))
            self.add_widget(b)

class MainWidget(Widget):
    pass

class TheLabApp(App):
    pass
TheLabApp().run()
 

Файл KV

 scrollviewex:

<scrollviewex@ScrollView>:
    stacklayoutex:
    size_hint: 1,None
    height:4000

<stacklayoutex>:
 

Ответ №1:

Пара проблем:

Имена ваших классов должны начинаться с верхнего регистра. Несоблюдение этого правила может привести к синтаксическим ошибкам в вашем kv . Кроме того, ошибка отступа в вашем kv , она должна быть:

 Scrollviewex:

<Scrollviewex@ScrollView>:
    Stacklayoutex:
        size_hint: 1,None
        height:4000

<Stacklayoutex>: