2017-03-07 41 views
0

私はこれらのスクロール可能なラベルを持っていますが、その最初と最後を読み取ることはできません(1から始まるアルファベットと8 )。Kivyスクロール可能なラベル:ラベルの先頭と最後を読み取ることができません

もう1つの問題は、スクロールが解除されたときに、中央でスクロールビューが開始され、自動的に中央に戻ることです。それは左の部分を表示させ、私がどこにラベルをスクロールするのを止めることが良いでしょう。

私は単にl.bind(texture_size=l.setter('size'))を使用していた

import kivy 

from kivy.app import App 
from kivy.uix.gridlayout import GridLayout 
from kivy.uix.button import Button 
from kivy.uix.popup import Popup 
from kivy.uix.label import Label 
# from kivy.properties import StringProperty 
from kivy.uix.scrollview import ScrollView 

class Test(App): 
    def build(self): 
     layout_pop = GridLayout (cols=3) 
     for i in range(3): 
      l = Label(
       text="1abcdefghijklmnopqrstuvwxyz_2abcdefghijklmnopqrstuvwxyz_3abcdefghijklmnopqrstuvwxyz_4abcdefghijklmnopqrstuvwxyz_5abcdefghijklmnopqrstuvwxyz_6abcdefghijklmnopqrstuvwxyz_7abcdefghijklmnopqrstuvwxyz_8abcdefghijklmnopqrstuvwxyz", 
       font_size=15, 
       color=(1,1,3,1), 
       size_hint_x= None, 
       width=600) 
      l.bind(size_hint_min_x=l.setter('width')) 
      scroll = ScrollView(size_hint=(None, None), size=(200, 30)) 
      scroll.add_widget(l) 
      layout_pop.add_widget(scroll) 
     return layout_pop 


Test().run() 

答えて

0

私は、Python 3.6とKivy 1.9.2.dev0を使用して、私のコードは、Python(無.kvファイルまたはビルダー)でなければなりません。 2つの問題が修正されました。 これは更新されたdef関数です。

def build(self): 
    layout_pop = GridLayout (cols=3) 
    for i in range(3): 
     l = Label( 
      text="1abcdefghijklmnopqrstuvwxyz_2abcdefghijklmnopqrstuvwxyz_3abcdefghijklmnopqrstuvwxyz_4abcdefghijklmnopqrstuvwxyz_5abcdefghijklmnopqrstuvwxyz_6abcdefghijklmnopqrstuvwxyz_7abcdefghijklmnopqrstuvwxyz_8abcdefghijklmnopqrstuvwxyz \n1abcdefghijklmnopqrstuvwxyz_2abcdefghijklmnopqrstuvwxyz_3abcdefghijklmnopqrstuvwxyz_4abcdefghijklmnopqrstuvwxyz_5abcdefghijklmnopqrstuvwxyz_6abcdefghijklmnopqrstuvwxyz_7abcdefghijklmnopqrstuvwxyz_8abcdefghijklmnopqrstuvwxyz", 
      font_size=15, 
      color=(1,1,3,1), 
      size_hint_x= None) 
     l.bind(texture_size=l.setter('size')) 
     l.bind(size_hint_min_x=l.setter('width')) 
     scroll = ScrollView(size_hint=(None, None), size=(200, 30)) 
     scroll.add_widget(l) 
     layout_pop.add_widget(scroll) 
    return layout_pop 
関連する問題