Вот мой простенький код, который при нажатии на кнопку должен запускать функцию
run_bot():
from kivy.app import App
from kivy.uix.button import Button
import multiprocessing as mp
import time
def run_bot():
while True:
print('Working...')
time.sleep(2)
class MyApp(App):
def build(self):
self.btn=Button(
text='Старт',
font_size=30,
on_press=self.start,
background_color=(1,3,3,10)
)
return self.btn
def start(self,instance):
self.proc=mp.Process(target=run_bot)
self.proc.daemon=True
self.proc.start()
if __name__ == '__main__':
MyApp().run()
При запуске этого файла
.py двойным щелчком, открывается терминал, GUI, и код работает без нареканий.
(Работаю через обычный IDLE 3.9)
Однако,
если Python файл скомпилировать в .exe при помощи того же pyinstaller, когда я нажимаю кнопку, в моём приложении, то
программа накладывает поверх основго окна приложения ещё одно, и так можно создать хоть 200 одинаковых окон. При этом скрипт run_bot() не запускается. (
Компилирую с терминалом, конечно же.)
Для удобства записал на *видео*.