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