【发布时间】:2015-08-13 04:16:14
【问题描述】:
我得到并发出问题,当我将一个函数与一个运行良好的按钮绑定时,但是当我绑定一个其中有一个无限循环的函数时,屏幕冻结并且其他按钮不起作用,如下例所示......请给出我使用另一个按钮打破该循环的解决方案..
from kivy.uix.popup import Popup
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.stacklayout import StackLayout
class APPLICATION_START(FloatLayout):
def __init__(self, **kwargs):
super(MyApp, self).__init__(**kwargs)
self.buone = Button(text="Start Loop",pos=(0,180),size=(470,90),size_hint=(None,None))
self.logi.bind(on_release=self.loooop)
self.exitbtn = Button(text="exit",pos=(0,90),size=(235,70),size_hint=(None,None))
self.exitbtn.bind(on_press=exit)
def loooop(self,instance):
while True:
# do any Activity
#I want to break this loop when someone press on exit button
class MyApp(App):
def build(self):
return APPLICATION_START()
if __name__ == '__main__':
MyApp().run()
【问题讨论】:
-
我对线程知之甚少,但没有使用循环创建一个新线程来执行此操作。
-
如何?...可以给出示例代码
-
为什么要使用无限循环?
-
它是一个电子邮件炸弹应用程序......所以在无限循环中它会一直发送电子邮件,直到用户不停止应用程序
标签: android python-2.7 loops kivy