我的应用程序的第一个屏幕有一个由三个按钮组成的小菜单(在网格布局中)。两个应该打开弹出窗口。一个是帮助,一个是大约。 第三个屏幕变为另一个屏幕。在
只有一个弹出窗口有效。第一个调用(在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)
如果添加额外的行
self.popup = h
和self.popup = a
,会有什么变化吗?一种可能是弹出窗口只是被垃圾回收,因为你没有存储对它们的任何引用。我不确定这会不会/如何影响你的行为,但值得一试。在相关问题 更多 >
编程相关推荐