2016-05-09 21 views
1

FloatLayoutScrollViewの子としてsize_hint_yNoneに設定しました。ますます多くのコンテンツを追加するにつれて、私はそれを拡張できるようにしたいと考えています。問題は、Kivyの座標系が左下から始まるため、FloatLayoutの高さに追加すると、すべてのコンテンツが最下部にとどまることです。どういたしましてそれを伸ばすことができますか?なぜなら、すべてのウィジェットを動かすことは効率的だと思います。特に、たくさんのウィジェットがあると、すべてのウィジェットの位置を処理する必要があります。ビューが伸び、​​ラベルが下にとどまるが、私はそれが上に滞在したいと思い、ボタンを押すだけでKivy ScrollViewのコンテンツを下に拡大

from kivy.app import App 
from kivy.uix.floatlayout import FloatLayout 
from kivy.uix.boxlayout import BoxLayout 
from kivy.uix.button import Button 
from kivy.uix.scrollview import ScrollView 
from kivy.uix.label import Label 

class TestApp(App): 
    def extend_h(self, *args): 
     global msg_float 
     msg_float.height += 50 

    def build(self): 
     global msg_float 
     msg_float = FloatLayout(size_hint_y = None) 
     bt1_main = Button(on_press = self.extend_h) 
     bl = BoxLayout() 
     sc = ScrollView() 
     sc.add_widget(msg_float) 
     bl.add_widget(sc) 
     bl.add_widget(bt1_main) 
     lb = Label(text = "Test", 
        size=(100,200), 
        size_hint = (None, None)) 
     msg_float.add_widget(lb) 
     return bl 

TestApp().run() 


は、ここで問題行動を説明するスニペットです。

答えて

関連する問題