擅长:python、mysql、java
<p>Kivy实际上是围绕事件和异步回调的原则构建的。因为它使用OpenGL并且依赖于在GPU上呈现的帧,而不是CPU,所以您永远不想使用块代码。所以kivy使用事件绑定来规避这个问题。在</p>
<p>这里有一种方法。在</p>
<pre><code>from kivy.app import App
from kivy.uix.popup import Popup
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
class MainApp(App):
def build(self):
self.button = Button(text="Click",
on_release=self.get_caption)
return self.button
def get_caption(self, btn):
Popup(title="Enter text here",
content=TextInput(focus=True),
size_hint=(0.6, 0.6),
on_dismiss=self.set_caption).open()
def set_caption(self, popup):
self.button.text = popup.content.text
MainApp().run()
</code></pre>
<p>你把内容放在一个弹出窗口中,给它一个“set_caption”函数,当它被关闭时调用。你对变化有了回应。不要阻塞。不要等待。在使用线程来阻止wxWidgets中的GUI阻塞之后,我真的认为这是一个更好的方法…;-)</p>
<p>干杯</p>