我現在正在熟悉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