2015-02-13 7 views
0

Я следил за учебником Kivy Scrollview в документах kivy. Но он оставляет много места справа от окна. Я хочу, чтобы Scrollview соответствовал экрану при изменении размера.kivy ScrollView подходит к окну

Это то, что я получил:

from kivy.app import App 
from kivy.uix.gridlayout import GridLayout 
from kivy.uix.button import Button 
from kivy.uix.scrollview import ScrollView 

class ScrollViewApp(App): 
    def build(self): 

     layout = GridLayout(cols=1, 
         size_hint=(None,None),width=700) 
     layout.bind(minimum_height=layout.setter("height")) 

     for i in range(30): 
      btn = Button(text=str(i),size=(480,40),size_hint=(None,None)) 
      layout.add_widget(btn) 

     root = ScrollView(size_hint=(1,1)) 
     root.add_widget(layout) 

     return root 

if __name__ == ("__main__"): 
ScrollViewApp().run()  

ответ

0

Глядя на код, я довольно уверен, что ScrollView делает заполнить окно (это ожидаемое, автоматическое поведение), но что GridLayout и кнопки вы разместили в нем фиксированный размер, поэтому при изменении размера окна ничего визуально не меняется.

Если вы хотите, чтобы кнопки заполняли окно по горизонтали, просто установите size_hint_x в None (а не оба компонента, как вы это сделали) для кнопок и GridLayout.

Смежные вопросы