若尚未看過Kivy UIX篇 widget篇 Image類 attribute篇 講解,建議看完之後對Image有一定了解在看這篇喔。
根據官網Image類繼承自kivy.uix.widget.Widget,因此Image的method皆來自於此,詳細的可以參考Kivy UIX篇 widget篇 widget類 method篇 講解,基本上是通用的。
Image類專用method有以下幾個:
1.reload():重新載入圖片
首先在main.py中寫下程式碼:
from kivy.app import App from kivy.uix.gridlayout import GridLayout from kivy.properties import ObjectProperty #先讓MyLayout繼承GridLayout class MyLayout(GridLayout): a1 = ObjectProperty(None) def btn1(self): self.a1.reload() class Myapp(App): def build(self): return MyLayout() if __name__ == '__main__': Myapp().run()
當呼叫btn1時,a1物件呼叫reload()方法。
在my.kv中寫上此段程式碼:
<MyLayout>: a1: b1 rows: 2 AsyncImage: #在此處我用AsyncImage代替Image,因為如果載入沒有一點點延遲的話會看不出效果 id: b1 source: 'https://ppt.cc/fdQSex@.jpg' #此為目前工作目錄路徑下的圖片 Button: text: 'press me' on_press: root.btn1()
執行結果如下:
沒有留言:
張貼留言