<small id='kEyoC'></small><noframes id='kEyoC'>

    <bdo id='kEyoC'></bdo><ul id='kEyoC'></ul>

  • <tfoot id='kEyoC'></tfoot>
  • <legend id='kEyoC'><style id='kEyoC'><dir id='kEyoC'><q id='kEyoC'></q></dir></style></legend>

        <i id='kEyoC'><tr id='kEyoC'><dt id='kEyoC'><q id='kEyoC'><span id='kEyoC'><b id='kEyoC'><form id='kEyoC'><ins id='kEyoC'></ins><ul id='kEyoC'></ul><sub id='kEyoC'></sub></form><legend id='kEyoC'></legend><bdo id='kEyoC'><pre id='kEyoC'><center id='kEyoC'></center></pre></bdo></b><th id='kEyoC'></th></span></q></dt></tr></i><div id='kEyoC'><tfoot id='kEyoC'></tfoot><dl id='kEyoC'><fieldset id='kEyoC'></fieldset></dl></div>
      1. 如何通过按钮关闭 Kivy 弹出窗口?

        时间:2023-10-09

          <tbody id='63E1c'></tbody>

          <legend id='63E1c'><style id='63E1c'><dir id='63E1c'><q id='63E1c'></q></dir></style></legend>

          • <small id='63E1c'></small><noframes id='63E1c'>

            • <i id='63E1c'><tr id='63E1c'><dt id='63E1c'><q id='63E1c'><span id='63E1c'><b id='63E1c'><form id='63E1c'><ins id='63E1c'></ins><ul id='63E1c'></ul><sub id='63E1c'></sub></form><legend id='63E1c'></legend><bdo id='63E1c'><pre id='63E1c'><center id='63E1c'></center></pre></bdo></b><th id='63E1c'></th></span></q></dt></tr></i><div id='63E1c'><tfoot id='63E1c'></tfoot><dl id='63E1c'><fieldset id='63E1c'></fieldset></dl></div>

              <tfoot id='63E1c'></tfoot>
                <bdo id='63E1c'></bdo><ul id='63E1c'></ul>
                1. 本文介绍了如何通过按钮关闭 Kivy 弹出窗口?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有一个使用 Kivy 创建的弹出窗口,其中包含 2 个按钮.用户可以通过在弹出区域外按下 (auto_dismiss = True) 或单击否"按钮来关闭弹出窗口.选择是"按钮,将退出整个应用程序.

                  请看相关代码:

                  类 ExitApp(App):def exit_confirmation(self):# popup 只能有一个 Widget.这可以通过添加 BoxLayout 来解决self.box_popup = BoxLayout(orientation = 'horizo​​ntal')self.box_popup.add_widget(Label(text = "真的退出?"))self.box_popup.add_widget(按钮(文字=是",on_press = ExitApp.exit,size_hint = (0.215, 0.075)))self.box_popup.add_widget(按钮(文字=否",on_press = self.popup_exit.dismiss,size_hint=(0.215, 0.075)))self.popup_exit = Popup(title = "退出",内容 = self.box_popup,size_hint = (0.4, 0.4),auto_dismiss = 真)self.popup_exit.open()def 退出(自我):App.get_running_app().stop()

                  现在的问题在于按下否"按钮.按下该按钮时,代码将退出并出现以下错误:

                  <块引用>

                   on_press = self.popup_exit.dismiss,

                  AttributeError: 'Button' 对象没有属性 'popup_exit'

                  知道如何尽可能轻松地解决此问题吗?

                  解决方案

                  你可以通过一个惰性函数来解决这个问题

                  on_press = lambda *args: self.popup_exit.dismiss()

                  这样,仅在按下按钮且 popup_exit 已就位时才会进行查找...

                  I have a pop-up created with Kivy, which contains 2 buttons. User can dismiss the pop-up by pressing outside of the pop-up area (auto_dismiss = True), or by clicking the "No" button. Selecting the "Yes" button, will exit the whole application.

                  Please see relevant code:

                  class ExitApp(App):
                  
                  def exit_confirmation(self):
                  
                      # popup can only have one Widget.  This can be fixed by adding a BoxLayout
                  
                      self.box_popup = BoxLayout(orientation = 'horizontal')
                  
                      self.box_popup.add_widget(Label(text = "Really exit?"))
                  
                      self.box_popup.add_widget(Button(
                          text = "Yes",
                          on_press = ExitApp.exit,
                          size_hint = (0.215, 0.075)))
                  
                      self.box_popup.add_widget(Button(
                          text = "No",
                          on_press = self.popup_exit.dismiss,
                          size_hint=(0.215, 0.075)))
                  
                      self.popup_exit = Popup(title = "Exit",
                          content = self.box_popup,
                          size_hint = (0.4, 0.4),
                          auto_dismiss = True)
                  
                      self.popup_exit.open()
                  
                  def exit(self):
                  
                      App.get_running_app().stop()
                  

                  The problem now lays with pressing the "No" button. When that is pressed, the code exits with this error:

                   on_press = self.popup_exit.dismiss,
                  

                  AttributeError: 'Button' object has no attribute 'popup_exit'

                  Any idea how I can fix this as easily as possible?

                  解决方案

                  You can solve this issue by a lazy function

                  on_press = lambda *args: self.popup_exit.dismiss()
                  

                  This way, the lookup will occur only when the button is pressed and popup_exit is already in place...

                  这篇关于如何通过按钮关闭 Kivy 弹出窗口?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                    <tfoot id='EhYBv'></tfoot>
                    • <bdo id='EhYBv'></bdo><ul id='EhYBv'></ul>

                    • <legend id='EhYBv'><style id='EhYBv'><dir id='EhYBv'><q id='EhYBv'></q></dir></style></legend>
                        <i id='EhYBv'><tr id='EhYBv'><dt id='EhYBv'><q id='EhYBv'><span id='EhYBv'><b id='EhYBv'><form id='EhYBv'><ins id='EhYBv'></ins><ul id='EhYBv'></ul><sub id='EhYBv'></sub></form><legend id='EhYBv'></legend><bdo id='EhYBv'><pre id='EhYBv'><center id='EhYBv'></center></pre></bdo></b><th id='EhYBv'></th></span></q></dt></tr></i><div id='EhYBv'><tfoot id='EhYBv'></tfoot><dl id='EhYBv'><fieldset id='EhYBv'></fieldset></dl></div>
                      • <small id='EhYBv'></small><noframes id='EhYBv'>

                            <tbody id='EhYBv'></tbody>