Я хочу отобразить всплывающее окно или модальное сообщение, которое говорит что-то вроде «пожалуйста, будьте терпеливы во время обработки», пока приложение выполняет функцию в фоновом режиме. Однако всплывающее окно появляется после того, как фоновая функция уже произошла. Ниже приведен пример кода, который создает эту проблему.
import os
import time
from kivy.app import App
from kivy.uix.modalview import ModalView
from kivy.uix.popup import Popup
from kivy.uix.button import Button, Label
class Poppy(Popup):
def __init__(self, **kwargs):
super(Poppy, self).__init__(**kwargs)
self.content = Label(text='working')
self.open()
print("Working...")
class TApp(App):
def build(self):
return Button(text="Click to run", on_press=self.modal_test)
def modal_test(self, event):
p = Poppy(size_hint=(0.5, 0.5))
self.printer()
def printer(self):
print('Popup works')
time.sleep(5)
TApp().run()