Я создаю свое первое приложение, и я обнаружил эту проблему с Kivy:
Когда я использую многопроцессорность в приложении Kivy, созданные мной процессы защищены от ".terminate ()". Тот же код, но вне приложения, работает нормально. Что я делаю не так?
Здесь я прилагаю код:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
import multiprocessing
import time
from plyer import tts
kv = Builder.load_file("testup.kv")
class TestScreen(Screen):
def speech(self):
for i in range(10):
tts.speak(f'{i+1}')
time.sleep(0.5)
def start_speech(self):
self.timing_process = multiprocessing.Process(target=self.speech)
self.timing_process.start()
def stop_speech(self):
self.timing_process.terminate()
print("timing terminated")
class TestUp(App):
def build(self):
return TestScreen()
if __name__ == '__main__':
TestUp().run()