Я хочу использовать программу Kivy, включая многопроцессорный процесс.Пример кода работал, как я думал, однако появился пустой белый экран, который не принимает операцию.Он появился как раз тогда, когда я запустил многопроцессорный процесс.
Я уже знаю, что при использовании многопоточности. Пустой экран не появится, однако для реальной программы, которую я хочу реализовать, требуется многопроцессорный процесс.Как я могу удалить этот пустой экран?Это то, что я видел.
PS
Учитывая комментарии, возможно, это особая проблема для окон.Я использую Windows 10, Python 3.6.4.
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen, NoTransition
import time
from datetime import datetime
import multiprocessing as mp
from multiprocessing import Process, Queue, freeze_support
sm = ScreenManager(transition=NoTransition())
Builder.load_string('''
<TestScreen>:
BoxLayout:
orientation: "vertical" # place object vertically
Label:
size_hint: 1, 1
text: 'TITLE'
font_size: 150
color: 1, 1, 1, 1
Button:
text: 'start'
on_press: root.start_mp()
Button:
text: 'stop'
on_press: root.stop_time()
''')
def count_time(x):
for i in range(x):
print('count={}'.format(i))
time.sleep(1)
class Test(App):
def build(self):
sm.add_widget(TestScreen(name='test'))
return sm
class TestScreen(Screen):
p1 = mp.Process(target=count_time, args=(10, ))
def start_mp(self):
self.p1 = mp.Process(target=count_time, args=(10, ))
self.p1.start()
def stop_time(self):
self.p1.terminate()
print(datetime.now())
if __name__ == '__main__':
Test().run()