Kivy 弹出窗口显示背景小部件

Kivy Popup Shows Background Widgets

我试图在 Kivy 中使用弹出窗口小部件,但每次我 运行 代码时,弹出窗口在主屏幕上只有 2 个较小版本的小部件。

这是我的 Python 代码(.py 文件):

import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.widget import Widget


class Layout(Widget):
    pass


class KivyTestApp(App):
    def build(self):
        return Layout()


app = KivyTestApp()
app.run()

这是我的 Kivy 代码(.kv 文件):

#: import Factory kivy.factory.Factory

<MyPopup@Popup>:
    title: 'Test'
    size_hint: None, None
    size: 400, 400

<Layout>:
    Button:
        id: but
        size: root.width, root.height
        background_normal: ''
        background_color: .5, .7, .9, 1
        text: 'Press me to open the popup'
        pos: 0, 0
        on_press: Factory.MyPopup().open()

这将创建一个如下所示的 window:

弹出窗口如下所示:

如您所见,我没有向弹出窗口添加任何内容,但是按钮仍然出现!如果有人能帮助我,那就太好了,在此先感谢!

Kivy 已经有一个名为 Layout 的内部小部件,它在所有地方都被子类化了。尝试将您自己的小部件命名为其他名称。