0
目標是一個屏幕,使用幾個圖像之一(隨每個屏幕加載隨機選擇)作爲背景。Kivy動態背景加載不起作用
該應用程序包含以下內容:
class AnswerScreen(Screen):
bkgd = ""
def choose_bkgd(self):
self.bkgd = "{}.jpg".format(random.randint(0,8))
我千伏文件包含以下內容:
<AnswerScreen>
on_pre_enter: root.choose_bkgd()
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: root.bkgd
不幸的是,背景永遠只是一個純白色。 我已經添加了打印電話choose_bkgd()
,它總是打印一個可接受的文件名,我也嘗試使用on_enter:
,但沒有改變。如果我替換源文件:使用文件名而不是root.bkgd,圖像顯示正確。這導致我相信背景是在函數被調用來設置bkgd變量之前生成的,但是這使我困惑,因爲我認爲on_pre_enter
的整個要點是在加載屏幕之前執行代碼。 kivy文檔尚未爲我解決這個問題。任何幫助是極大的讚賞。
嘎!我是基維新手,有幾件事情我似乎無法擊敗我的小腦袋。謝謝。 –