我现在正在熟悉kivy。 我认为它有很大的潜力,但我确实发现“普通python”和kv-language之间的关系有点混乱,这使得很难理解在哪里做项目。目前看来,在使用python vs kv-l时,行为(幕后发生的事情)并不是一一对应的,总的来说,我认为这对于可用性/生产力而言非常高。kivy scrollview with boxlayout
我已经使用了“速成课程”,这是一个很好的开始得到kivy的第一印象。 无论如何,在学习的过程中,我只是想看看是否可以制作一个盒式视图可滚动 - 事实证明,我不能。
,使此代码的工作现在需要的,即扩大了标签的“纹理大小”,并同时具有调节到一个滚动型?
如果BoxLayout的有size_hint_y:无,标签不扩展到文本,但滚动视图可以在行动使该窗口非常小的时候可以看到。
如果BoxLayout的有size_hint_y:1,标签扩大,但apparantly的BoxLayout的高度并没有改变,即滚动视图窗口似乎是相同的,与size_hint_y:无
如果我只是把一个高度大,滚动视图涵盖这一点,但我希望,它可能获得连接到它的内容的BoxLayout的动态高度。
我玩过高度,size_hints等,我还没有找到一个组合工作,有时会得到警告,由于内部重绘循环代码需要重新编制吗?
我在想什么/没有理解?
代码如下。
from kivy.base import runTouchApp
from kivy.lang import Builder
from kivy.uix.scrollview import ScrollView
Builder.load_string("""
<ScrollableLabel>:
BoxLayout:
orientation: 'vertical'
# size_hint_y: 1
size_hint_y: None
height: 400 #self.size[1]
canvas:
Color:
rgba: (1, 0, 0, .5) # DarkOliveGreen
Rectangle:
size: self.size
pos: self.pos
Label:
id: bust
text: 'a string that is long ' * 10
font_size: 50
text_size: self.width, None
size_hint_y: None
height: self.texture_size[1]
canvas:
Color:
rgba: (0, 1, 0, .5) # DarkOliveGreen
Rectangle:
size: self.size
pos: self.pos
Label:
text: '2 strings that are long ' * 10
text_size: self.width, None
size_hint_y: None
height: self.texture_size[1]
Button:
text: 'just testing'
""")
class ScrollableLabel(ScrollView):
pass
runTouchApp(ScrollableLabel())
由于按预期工作,我不会想到我自己。 – ahed87