2017-09-04 28 views
2

別のクラスの機能を終了した後、または少なくとも(3秒) のような特定の時間の後にポップアップを閉じる必要があります。ポップアップ表示のロード中のGIF画像 機能自動でkivyのポップアップを閉じる

loading image

*******パイソン******

from kivy.app import App 
from kivy.uix.popup import Popup 
from kivy.lang import Builder 
from kivy.uix.screenmanager import ScreenManager, Screen 

class ScreenManagement(ScreenManager): 
    pass 

class progress(Popup): 
    pass 
class Func_(Screen): 
# function 
    pass 

presentation = Builder.load_file("Try_.kv") 
class MainApp(App): 

    def build(self): 
     return presentation 

if __name__ == "__main__": 
    MainApp().run() 

********のKVファイルを操作するための****** ***

#:import Factory kivy.factory.Factory 

<Popup>: 
    separator_color: 1, 1, 1, 1 
    background: "White.png" 
    Button: 
     id: btn 
     disabled: True 
     background_disabled_normal: "White.png" 
     text: "Hello" 
     Image: 
      source: "Loading.gif" 
      size: root.size 

ScreenManagement: 
    PopupBox: 

<PopupBox>: 
    BoxLayout: 
     Button: 
      text: "Click" 
      on_release: 
       Factory.Popup().open() 

答えて

1

ポップアップメッセージを消し、Clock.schedule_onceを使用してその関数を呼び出す関数を追加する必要があります。詳細は以下の例を参照してください。

main.py

from kivy.app import App 
from kivy.uix.popup import Popup 
from kivy.uix.screenmanager import ScreenManager, Screen 
from kivy.clock import Clock 


class ScreenManagement(ScreenManager): 
    pass 


class Progress(Popup): 

    def __init__(self, **kwargs): 
     super(Progress, self).__init__(**kwargs) 
     # call dismiss_popup in 2 seconds 
     Clock.schedule_once(self.dismiss_popup, 2) 

    def dismiss_popup(self, dt): 
     self.dismiss() 


class Func(Screen): 
    # function 
    pass 


class MainApp(App): 

    def build(self): 
     return ScreenManagement() 

if __name__ == "__main__": 
    MainApp().run() 

main.kv

#:import Factory kivy.factory.Factory 
#:import FadeTransition kivy.uix.screenmanager.FadeTransition 

<Progress>: 
    separator_color: 1, 1, 1, 1 
    background: "White.png" 
    Button: 
     id: btn 
     disabled: True 
     background_disabled_normal: "White.png" 
     text: "Hello" 
     Image: 
      source: "Loading.gif" 
      size: root.size 

<ScreenManagement>: 
    transition: FadeTransition() 
    Func: 

<Func>: 
    BoxLayout: 
     Button: 
      text: "Click" 
      on_release: 
       Factory.Progress().open() 

出力

enter image description here

関連する問題