0
我在使用Kivy庫的Python應用程序中遇到問題。特別是我試圖在TabbedPanelItem中創建一個可滾動的元素列表,但我不知道爲什麼我的列表不滾動。Kivy - 我的ScrollView不滾動
這裏是我的KV文件:
#:import sm kivy.uix.screenmanager
ScreenManagement:
transition: sm.FadeTransition()
SecondScreen:
<SecondScreen>:
tabba: tabba
name: 'second'
FloatLayout:
background_color: (255, 255, 255, 1.0)
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.10
pos_hint: {'top': 1.0}
canvas:
Color:
rgba: (0.98, 0.4, 0, 1.0)
Rectangle:
pos: self.pos
size: self.size
Label:
text: 'MyApp'
font_size: 30
size: self.texture_size
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.90
Tabba:
id: tabba
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.10
pos_hint: {'bottom': 1.0}
Button:
background_color: (80, 1, 0, 1.0)
text: 'Do nop'
font_size: 25
<Tabba>:
do_default_tab: False
background_color: (255, 255, 255, 1.0)
TabbedPanelItem:
text: 'First_Tab'
Tabs:
TabbedPanelItem:
text: 'Second_Tab'
Tabs:
TabbedPanelItem:
text: 'Third_Tab'
Tabs:
<Tabs>:
grid: grid
ScrollView:
scroll_timeout: 250
scroll_distance: 20
do_scroll_y: True
do_scroll_x: False
GridLayout:
id: grid
cols: 1
spacing: 10
padding: 10
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
Label:
text:'scroll'
color: (0, 0, 0, 1.0)
在這裏,我的.py代碼:
__author__ = 'drakenden'
__version__ = '0.1'
import kivy
kivy.require('1.9.0') # replace with your current kivy version !
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.properties import StringProperty, ObjectProperty,NumericProperty
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.utils import platform
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView
class Tabs(ScrollView):
def __init__(self, **kwargs):
super(Tabs, self).__init__(**kwargs)
class Tabba(TabbedPanel):
pass
class SecondScreen(Screen):
pass
class ScreenManagement(ScreenManager):
pass
presentation = Builder.load_file("layout2.kv")
class MyApp(App):
def build(self):
return presentation
MyApp().run()
在哪裏/我在做什麼錯?
(評論,並提出了UI改進也被接受)
所以,你是否建議設置內部佈局的高度低於ScrollView? – Drakenden
Drakenden不應該它應該更大:) –
是的,最後我解決了設置ScrollView的高度大於GridView。謝謝! – Drakenden