我试图显示一个弹出窗口,以防今天是数据库上的日期。问题是弹出窗口,但它似乎是在主屏幕后面构建的。我认为这是由于在“on_enter”方法上调用的,但无法解决此问题。请注意,此“设置”按钮是从主屏幕而不是弹出窗口本身呈现的。这是我的 kv 文件:#:import Factory kivy.factory.Factory<ScreenManager>:<DiaDeRevisao@Popup>: title: 'Atenção dia de revisão' auto_dismiss: False size_hint:0.7,0.7 BoxLayout: canvas.before: Color: rgba:(1,1,1,1) Rectangle: size: self.size pos: self.pos BoxLayout: orientation:'vertical' MDLabel: text:'Hoje é dia de revisão' Button: text: 'OK' on_press: root.dismiss()<FileChooserPop@Popup>: title:'Escolha o arquivo de audio MP3' BoxLayout: canvas.before: Color: rgba:(0,0,0,0.35) Rectangle: size: self.size pos: self.pos orientation: 'vertical' BoxLayout: size_hint_y: None height: sp(52) Button: text: 'Icon View' on_press: fc.view_mode = 'icon' Button: text: 'List View' on_press: fc.view_mode = 'list' FileChooser: id: fc FileChooserIconLayout FileChooserListLayout BoxLayout: size_hint_y: None MDTextButton: size_hint_x:0.4 text: 'Voltar' on_press: root.dismiss() MDIconButton: halign:'center' icon:'content-save' on_press:root.selected(fc.path, fc.selection) on_release: root.manager.current = 'Principal'<Main>: BoxLayout: orientation:"vertical" spacing:'50dp' padding:'70dp' BoxLayout: MDTextButton: text: 'Revisões' on_press: root.manager.current = 'Revisoes'# on_release:Factory.FileChooserPop().open()这很奇怪,我无法弄清楚。我很感激任何帮助。干杯!
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
问题是该on_enter()
事件触发得太早,因此它Popup
会在Main
Screen
. 您可以通过在显示Popup
. 我改变:
Factory.DiaDeRevisao().open()
到:
Clock.schedule_once(lambda dt: Factory.DiaDeRevisao().open())
将提供延迟并允许Popup
显示在 的顶部Screen
。
添加回答
举报
0/150
提交
取消