【问题标题】:How to open Popup through kv?如何通过kv打开Popup?
【发布时间】:2016-11-06 20:41:42
【问题描述】:

这应该很容易,但我找不到答案。我需要通过.kv 文件打开Popupwith 按钮。更少的文字,更多的代码!

#.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()

但这对我来说不是最方便的方式

【问题讨论】:

    标签: python-2.7 kivy kivy-language


    【解决方案1】:

    使用两条规则:

    #:import Factory kivy.factory.Factory
    
    <YourPopup@Popup>:
        title: 'something'
        Label:
            text: 'content'
    <Test>:
        Button:
            on_press: Factory.YourPopup().open()
    

    【讨论】:

    • 我在使用这个Popup 时又遇到了麻烦。它应该显示警告和两个按钮Yes and No(此时一切正常)我在main.py 的主类中有函数,并且需要在按下Yes 时调用此函数。我还需要将来自TextInput 的文本作为参数传递给这个函数。如果按下Yes,我尝试使用#:set Answer True,但它不起作用。我也尝试在我的.kv 文件中使用global,但没有结果。如果更方便,我可以提出问题
    • 啊,我明白了。我可以将此函数放在我的主(App)类中并使用app.myfunc() 调用它,对吗?但是如何插入参数呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2012-07-18
    • 2020-12-08
    • 2023-02-20
    • 1970-01-01
    相关资源
    最近更新 更多