#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>: