Для некоторых процессов в моем приложении я использую Интернет для получения некоторых данных. Поэтому для обработанных я хочу, чтобы в начале процесса появилось простое всплывающее окно (с текстом Загрузка ...), но когда я запустил тестовый код, я заметил, что всплывающее окно отображается в конце процесса, а чем в начале процесса, что делает его бесполезным. Вот тестовый код, который я использую. Ваша помощь приветствуется, спасибо.kivy popup, отображающийся в конце текущего процесса
class ScreenManagement(ScreenManager):
def popup(self):
self.pop_up=Popup(title='Loading...')
self.pop_up.open()
def popup_done(self):
self.pop_up.dismiss()
def ite(self):
for i in range(100):
App.get_running_app().root.current='second'
return i
def thread_it(self,fx):
self.popup()
mythread = threading.Thread(target=fx)
mythread.start()
def ite(self,num):
for i in range(num):
txt=str(i)*40
self.ids.lbl.text=txt
print txt
#if i==num-1: #this is not working
# self.popup_done()
class labelApp(App):
def build(self):
pass
labelApp().run()
.kv файл
ScreenManagement:
Screen:
BoxLayout:
Button:
#on_press:root.popup()
#on_release:root.popup_done()
on_press:root.thread_it(root.ite(40000))
on_press:root.current='second'
Screen:
name:'second'
BoxLayout:
Label:
id:lbl
text: 'hello'
Спасибо, это решает мою проблему! – Linh