Thanks for your answers, my problem is to find in English and in Pythonista what to search on the forum and that's sometimes difficult. Fortunately, there's alwais someone who is patient enough to explain ;-)
A simple @ui.in_background was the solutionβ¦
import ui
class WaitClass(ui.View):
def __init__(self):
waitView = ui.View(name='waitView', frame=(0, 0, 240, 120))
l = ui.Label(name='label', frame=(0, 0, 240, 40))
l.center = waitView.center
l.alignment = ui.ALIGN_CENTER
waitView.add_subview(l)
self.add_subview(waitView)
def present(self):
self.subviews[0].present('sheet', hide_title_bar=True, hide_close_button=True)
def close(self):
self.subviews[0].close()
def message(self, msg):
self.subviews[0]['label'].text = str(msg)
def count(self):
n = 100
for i in range(n):
self.message(f'{i}/{n}')
# βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
@ui.in_background
def wait(sender):
v = WaitClass()
v.present()
v.count()
v.close()
if __name__=='__main__':
vp = ui.View(name = 'Vue principale', frame=(0, 0, 512, 384), background_color='white')
b = ui.Button(frame=(10, 10, 60, 30), title='Pressez ici.', action = wait)
b.center = vp.center
vp.add_subview(b)
vp.present('sheet')```