Нужен способ выхода из цикла (что-то вроде прерывания) для PySimpleGUI. ⇐ Python

Программы на Python
Anonymous
Нужен способ выхода из цикла (что-то вроде прерывания) для PySimpleGUI.

Сообщение Anonymous »

Я пытаюсь написать код, который будет функционировать как включенная блок-схема, но у меня возникают проблемы с выходом из последнего цикла. Любая помощь приветствуется. Блок-схема проекта.
Мы входим в последний цикл, нажимая определенную кнопку, определенную как «Начать обнаружение» в PySimpleGui. Я хочу иметь возможность выйти из этого цикла, нажав кнопку, определенную как «Обнаружение остановки», но без функции window.read() я не могу нажать кнопку обнаружения остановки, и мы находимся в бесконечном цикле. Если я включу функцию window.read, последний бит кода будет выполняться только один раз, а не в цикле, как хотелось бы.
Код для последнего цикла находится здесь:
while(1):

event,values = window.read()
if event in (None,'Quit'):
break
elif event == 'Filter Settings':
changefitersettings()
## Put in an image for the item detection in here
print('View the Parking Lot')
elif event == 'Lot Settings':
sct_img = sct.grab(bounding_box)
getcountvalues = changeImage(x,np.array(sct_img))
Settings()
print('Lot Settings has been pressed')
window.close
elif event =='Start Detection':
while(1):
event,values = window.read()
if event == 'Stop Detection':
break
else:
sct_img = sct.grab(bounding_box)
videoimage = changeImage(x,np.array(sct_img))
#cv.imshow('hello1',videoimage[0])
ServerUpdate = UpdateServer(videoimage[1],videoimage[2],videoimage[3],videoimage[4],videoimage[5],videoimage[6],videoimage[7],videoimage[8],videoimage[9],videoimage[10],videoimage[11],videoimage[12])
k = cv.waitKey(1) & 0xFF
# press 'q' to exit
if k == ord('q'):
break
cv.destroyAllWindows()


Подробнее здесь: https://stackoverflow.com/questions/760 ... ysimplegui

Вернуться в «Python»