Я использую PySimplyGUI для выполнения некоторых основных операций ввода / вывода. Одним из элементов в моем окне является «Вывод», который отображает вывод скрипта / исполняемого терминала при запуске. У меня есть другой элемент в моем окне, который позволяет пользователю очистить вывод. Операция очистки работает нормально, но все последующие выходные данные перенаправляются на мой терминал вместо поля вывода, которое остается пустым.

Я пропускаю строку кода для сброса фокуса вывода или что-то?

Вот мой код для очистки вывода:

if event in ('Clear Output'):
    window.FindElement('_output_').Update('')
0
Aleksandr Kibis 14 Ноя 2019 в 21:35

1 ответ

Проблема возникла не из-за логики очистки элемента, а из-за моего оператора print для генерации вывода:

print(str(output), sep=' ', end='n', file=sys.stdout, flush=True)

Изменение по умолчанию устранило проблему:

print(str(output))
1
Aleksandr Kibis 14 Ноя 2019 в 22:02