2016-11-06 77 views
1

它應該很容易,但我找不到答案。我需要打開Popup與按鈕通過.kv文件。少說話,多寫代碼!如何通過kv打開Popup?

#.kv 
#... 
Button: 
    on_press: 
     #Here I need something like 
     #Popup_open: 
      #title: 'title' 
      #... 

我知道我可以通過添加功能,我的根類

#main.py 
#... 
myclass(object): 
    def myPopup(): 
     Popup(title='title',message='message').open() 

做到這一點,然後再調用這個函數

#.kv 
#... 
Button: 
    on_press: root.myPopup() 

,但對我來說

不是最方便的方法

回答

2

使用兩條規則:

#:import Factory kivy.factory.Factory 

<[email protected]>: 
    title: 'something' 
    Label: 
     text: 'content' 
<Test>: 
    Button: 
     on_press: Factory.YourPopup().open() 
+0

我覺得在使用這個'Popup'的另一個麻煩。它應該顯示警告和兩個按鈕'是和否'(這一切都可以)我在'main.py'的主類中有函數,並且當按下'是'時需要調用這個函數。另外我需要從'TextInput'作爲參數傳遞文本到這個函數。如果按下「是」,我嘗試使用'#:set Answer True',但它不起作用。我也嘗試在'.kv'文件中使用'global',但沒有結果。我可以創建一個問題,如果它會更方便 – Fogapod

+0

啊,我只是理解。我可以將這個函數放在我的主(App)類中,並用'app.myfunc()'調用它,對吧?但如何插入參數? – Fogapod