from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.graphics import Color, Rectangle
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
class Imglayout(FloatLayout):
def __init__(self,**args):
super(Imglayout,self).__init__(**args)
with self.canvas.before:
Color(0,0,0,0)
self.rect=Rectangle(size=self.size,pos=self.pos)
self.bind(size=self.updates,pos=self.updates)
def updates(self,instance,value):
self.rect.size=instance.size
self.rect.pos=instance.pos
class MainTApp(App):
im=Image(source='img1.jpg')
def build(self):
root = BoxLayout(orientation='vertical')
c = Imglayout()
root.add_widget(c)
self.im.keep_ratio= False
self.im.allow_stretch = True
cat=Button(text="Categories",size_hint=(1,.07))
cat.bind(on_press=self.callback)
c.add_widget(self.im)
root.add_widget(cat);
return root
def callback(self,value):
self.im=Image(source='img2.jpg')
if __name__ == '__main__':
MainTApp().run()
我在這裏想要做的是更改圖像在應用程序啓動時顯示的對象創建期間首次加載,然後在按下按鈕cat時更改它。我正在試圖這樣做,但它沒有發生。我最終希望它可以通過滑動手勢進行更改(帶有一點點滑動動作,就像發生在手機中一樣)更改窗口小部件中的圖像 - Kivy - Python
我想要構建的是幻燈片,它會在t秒內更改圖像,除非已刷新,然後當一個新的圖像到來時,定時器重置 當按下類別按鈕時,圖像將不會出現,並有一個可供選擇的類別列表,當觸摸列表中的某個項目時,該列表中的圖像將爲顯示在屏幕上
最後,當一切都完成後,我想讓它自動檢測類別(基於指定位置中的目錄),然後所有圖像都可用(這並沒有明確地告訴它如何許多圖像和圖像)
但是,我不能做第一件事,所以我真的很想在這方面得到一些幫助。也許還有一些關於如何實現其他方面的指導。
你的方式。使用self.im.source。但是你所說的關於自我,實例,價值的東西。它只是給出錯誤,回調接受3個參數,但只有2個發送。我在文檔中看到有3個以及2個參數的回調。我無法弄清楚什麼時候應用什麼:S –