Kivy弹出或事件循环交互?

2024-05-16 02:54:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我的应用程序的第一个屏幕有一个由三个按钮组成的小菜单(在网格布局中)。两个应该打开弹出窗口。一个是帮助,一个是大约。 第三个屏幕变为另一个屏幕。在

只有一个弹出窗口有效。第一个调用(在kivy文件中)起作用,第二个不打开弹出窗口。如果我把订单换成cdd.kv,然后另一个工作。在

节选自cdd.kv公司名称:

        CDDMainMenuLayout:

            HelpButton:
                size_hint: .5,.5

            MetadataButton:
                size_hint: .5,.5
                on_release: app.root.current = 'metadata'

            AboutButton:
                size_hint: .5,.5

节选自主.py公司名称:

^{pr2}$

。。。在

class CDDButton(Button):
    def __init__(self, **kwargs):
        super(CDDButton, self).__init__(**kwargs)
        self.text = _('Button')
        self.background_color = colors.grey2

class AboutButton(CDDButton):
    def __init__(self, **kwargs):
        super(AboutButton, self).__init__(**kwargs)
        self.text = _("About the CDD")
        self.background_color = colors.red1
        a = Popup()
        a.title = _("About Constraint Definition Designer, Version - " + __version__)
        a.content = RstDocument(source='about.rst')
        a.size_hint_x = .8
        a.size_hint_y = .8
        self.bind(on_release=a.open)

class HelpButton(CDDButton):
    def __init__(self, **kwargs):
        super(HelpButton, self).__init__(**kwargs)
        self.text = _("Help")
        self.background_color = colors.green1
        h = Popup()
        h.title = _("CDD Help")
        h.content = RstDocument(source='help.rst')
        h.size_hint_x = .8
        h.size_hint_y = .8
        self.bind(on_release=h.open)

Tags: textselfsizerelease屏幕initondef