Tkinter запускает и останавливает запись экрана, когда кнопки и функции класса не работаютPython

Программы на Python
Anonymous
Tkinter запускает и останавливает запись экрана, когда кнопки и функции класса не работают

Сообщение Anonymous »


Я хочу создать простой пользовательский интерфейс для записи экрана. В моем пользовательском интерфейсе есть две кнопки «Начать запись экрана» и «Остановить запись экрана». Я могу начать запись экрана, но когда я нажимаю кнопку «Стоп», запись не останавливается, и я получаю следующий вывод:

В Screenrecorder.stop_recording() отсутствует 1 обязательный позиционный аргумент: 'out'

Это мой класс Screenrecorder:

импортировать cv2 импортировать numpy как np импортировать pyautogui класс Screenrecorder(): защита start_recording(): # разрешение экрана, получите его с помощью самого pyautogui SCREEN_SIZE = кортеж(pyautogui.size()) # определяем кодек fourcc = cv2.VideoWriter_fourcc(*"XVID") # кадров в секунду кадр/с = 12,0 # создаем объект записи видео out = cv2.VideoWriter("output.avi", fourcc, fps, (SCREEN_SIZE)) статус = Истина пока статус: #сделай скриншот img = pyautogui.screenshot() # преобразуем эти пиксели в правильный массив numpy для работы с OpenCV кадр = np.array(img) # конвертируем цвета из BGR в RGB рамка = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # пишем кадр out.write(кадр) вернуться защита stop_recording (выход): # убедитесь, что все закрыто при выходеq cv2.destroyAllWindows() out.release() Разве моя функция «stop_recording» не должна получить «возврат»? Что я здесь делаю не так? Я читал, что использование return — это один из способов передачи переменных другим функциям, и я не хочу использовать глобальные переменные.

Это две кнопки:
Button(tab1, text="Начать запись экрана", команда=Screenrecorder.start_recording).pack() Button(tab1, text="Остановить запись экрана", команда=Screenrecorder.stop_recording).pack()

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