Передача вывода подпроцесса в GUI LivePython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Передача вывода подпроцесса в GUI Live

Сообщение Anonymous »

У меня есть программа на Python, которая оборачивает другую программу, которую я запускаю, с помощью subprocess.run(). Программа имеет отличный консольный вывод, который я хотел бы отобразить в графическом интерфейсе:
[img]https://i.sstatic. net/9Q9vPpkK.png[/img]

Я изо всех сил пытаюсь понять, как захватить этот вывод и показать его в графическом интерфейсе. Я использую многопоточность для запуска процедуры подпроцесса, чтобы tkinter для графического интерфейса оставался отзывчивым и обновлялся по мере выполнения процесса, что может занять несколько часов. Операторы печати отображаются в графическом интерфейсе, но не выходные данные подпроцесса. Мне бы хотелось получить общее представление о том, как это будет работать.
Я подумал, что если бы я перенаправил стандартный вывод в вызове подпроцесса, это должно было бы сработать. Я не уверен, что я ошибся.
Класс, который перенаправляет операторы печати в графический интерфейс:
class RedirectOutput:
def __init__(self, text_widget):
self.text_widget = text_widget

def write(self, message):
self.text_widget.config(state='normal')
self.text_widget.insert(tk.END, message)
self.text_widget.config(state='disabled')
self.text_widget.see(tk.END)

def flush(self):
pass

# Redirect stdout to the ScrolledText widget
sys.stdout = RedirectOutput(self.output_text)

# Example of subprocess
subprocess.run([BASE_COMMAND[0], BASE_COMMAND[1], BASE_COMMAND[2],
"upload",
str(upload_file),
destination_path],
stdout=subprocess.PIPE,
creationflags=subprocess.CREATE_NO_WINDOW,
shell=True,)


Подробнее здесь: https://stackoverflow.com/questions/787 ... o-gui-live
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Передача значений от Tkinter Gui к макросу ImageJ через Pyimagej в Python без подпроцесса
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • JQuery Live Blur и Live Focus
    Anonymous » » в форуме Jquery
    0 Ответы
    86 Просмотры
    Последнее сообщение Anonymous
  • Файл index.php не перезагружается в реальном времени с расширением Live Server VS Code, веб-расширением Live Server и ра
    Anonymous » » в форуме Php
    0 Ответы
    158 Просмотры
    Последнее сообщение Anonymous
  • Laragon + Visual Studio PHP Server и Live Server + Live Server Web Advension, а не автоматическая загрузка вместе
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • ПРОБЛЕМЫ ПРЕДУПРЕЖДЕНИЯ GUI PYTHON GUI
    Anonymous » » в форуме Python
    0 Ответы
    95 Просмотры
    Последнее сообщение Anonymous

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