Android 如何在kivy中将图像作为弹出窗口加载

Android 如何在kivy中将图像作为弹出窗口加载,android,python,kivy,Android,Python,Kivy,然后用kv语言,我试着从按钮按下事件调用它。 kv文件的代码如下所示 def pop1(self): pop = Popup(title='test',content=Image('boy.png'), size_hint=(None,None)) pop.open() 当我尝试运行它时,我得到一个错误,如下所示: : _容器:容器 网格布局: 填充:12 keyError:“pos_hint”首先,因为您调用了root.pop1()并且root

然后用kv语言,我试着从按钮按下事件调用它。 kv文件的代码如下所示

def pop1(self):
    pop = Popup(title='test',content=Image('boy.png'),
                size_hint=(None,None))
    pop.open()
当我尝试运行它时,我得到一个错误,如下所示:

: _容器:容器 网格布局: 填充:12
keyError:“pos_hint”

首先,因为您调用了
root.pop1()
并且
root
在本例中是一个
BoxLayout
我假设您在一个从
BoxLayout
继承的类中定义了
pop1
函数?如果是这样,您基本上是在覆盖一个kivy类,这会把事情搞砸

第二个问题是调用
Image('boy.png')
,而它应该是
Image(source='boy.png')

最后,在按钮中,您忘记将
text
设置为值

执行您试图完成的任务的更好方法是使用以下代码:

    BoxLayout:
    size:self.parent.size
    orientation:'horizontal'
    spacing:10
    padding:5
    Button:
        text:
        size_hint:.3,.3
        on_press: 
            root.pop1()

首先,由于您调用
root.pop1()
并且
root
在本例中是一个
BoxLayout
,因此我假设您在一个从
BoxLayout
继承而来的类中定义了
pop1
函数?如果是这样,您基本上是在覆盖一个kivy类,这会把事情搞砸

第二个问题是调用
Image('boy.png')
,而它应该是
Image(source='boy.png')

最后,在按钮中,您忘记将
text
设置为值

执行您试图完成的任务的更好方法是使用以下代码:

    BoxLayout:
    size:self.parent.size
    orientation:'horizontal'
    spacing:10
    padding:5
    Button:
        text:
        size_hint:.3,.3
        on_press: 
            root.pop1()

Thnx代表溶液@matthnx代表溶液@Matt