• <tfoot id='lZerU'></tfoot>

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

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

    <legend id='lZerU'><style id='lZerU'><dir id='lZerU'><q id='lZerU'></q></dir></style></legend>
      <bdo id='lZerU'></bdo><ul id='lZerU'></ul>

      1. Python Kivy:如何在按钮单击时调用函数?

        时间:2023-10-10
            <tbody id='nXrCn'></tbody>
            1. <tfoot id='nXrCn'></tfoot>

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

              • <legend id='nXrCn'><style id='nXrCn'><dir id='nXrCn'><q id='nXrCn'></q></dir></style></legend>
                • <bdo id='nXrCn'></bdo><ul id='nXrCn'></ul>
                • <i id='nXrCn'><tr id='nXrCn'><dt id='nXrCn'><q id='nXrCn'><span id='nXrCn'><b id='nXrCn'><form id='nXrCn'><ins id='nXrCn'></ins><ul id='nXrCn'></ul><sub id='nXrCn'></sub></form><legend id='nXrCn'></legend><bdo id='nXrCn'><pre id='nXrCn'><center id='nXrCn'></center></pre></bdo></b><th id='nXrCn'></th></span></q></dt></tr></i><div id='nXrCn'><tfoot id='nXrCn'></tfoot><dl id='nXrCn'><fieldset id='nXrCn'></fieldset></dl></div>
                • 本文介绍了Python Kivy:如何在按钮单击时调用函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我对使用 kivy 库很陌生.

                  i'm pretty new at using kivy library.

                  我有一个 app.py 文件和一个 app.kv 文件,我的问题是我无法在按下按钮时调用函数.

                  I have an app.py file and an app.kv file , my problem is that I can't call a function on button press.

                  app.py:

                  import kivy
                  from kivy.app import App
                  from kivy.uix.boxlayout import BoxLayout
                  from kivy.uix.button import Button
                  
                  class Launch(BoxLayout):
                      def __init__(self, **kwargs):
                          super(Launch, self).__init__(**kwargs)
                  
                      def say_hello(self):
                          print "hello"
                  
                  
                  class App(App):
                      def build(self):
                          return Launch()
                  
                  
                  if __name__ == '__main__':
                      App().run()
                  

                  app.kv:

                  #:kivy 1.9.1
                  
                  <Launch>:
                      BoxLayout:
                          Button:
                              size:(80,80)
                              size_hint:(None,None)
                              text:"Click me"
                              on_press: say_hello
                  

                  推荐答案

                  Mode:.kv

                  很简单,say_hello 属于 Launch 类,所以要在 .kv 文件中使用它,你必须编写 <代码>root.say_hello.请注意,say_hello 是您要执行的函数,因此您不必忘记 () ---> root.say_hello().

                  Mode:.kv

                  It's very simple, say_hello belongs to the Launch class so in order to use it in your .kv file you have to write root.say_hello. Note that say_hello is a function that you want to execute so you don't have to forget the () ---> root.say_hello().

                  另外,如果 say_helloApp 类中,您应该使用 App.say_hello() 因为它属于应用程序.(注意:即使你的 App 类是 class MyFantasicApp(App): 它总是 App.say_hello()app.say_hello() 我不记得了,抱歉).

                  Also, if say_hello were in App class you should use App.say_hello() because it belongs to the app. (Note: even if your App class were class MyFantasicApp(App): it would always be App.say_hello() or app.say_hello() I don't remember, sorry).

                  #:kivy 1.9.1
                  
                  <Launch>:
                      BoxLayout:
                          Button:
                              size:(80,80)
                              size_hint:(None,None)
                              text:"Click me"
                              on_press: root.say_hello()
                  

                  模式:.py

                  你可以绑定函数.

                  from kivy.uix.button import Button # You would need futhermore this
                  class Launch(BoxLayout):
                      def __init__(self, **kwargs):
                          super(Launch, self).__init__(**kwargs)
                          mybutton = Button(
                                              text = 'Click me',
                                              size = (80,80),
                                              size_hint = (None,None)
                                            )
                          mybutton.bind(on_press = self.say_hello) # Note: here say_hello doesn't have brackets.
                          Launch.add_widget(mybutton)
                  
                      def say_hello(self):
                          print "hello"
                  

                  为什么要使用 bind?对不起,不知道.但是您在 kivy 指南中使用了它.

                  Why use bind? Sorry, no idea. But you it's used in the kivy guide.

                  这篇关于Python Kivy:如何在按钮单击时调用函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

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

                    <tbody id='SakMh'></tbody>
                  1. <tfoot id='SakMh'></tfoot>

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