2016-11-06 32 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