Я написал приложение, которое, среди прочего, запускает некоторые «бэкэнд»-процессы для выполнения некоторых действий. Эти подпроцессы с большой долей вероятности могут дать сбой или вести себя непредвиденно, поскольку им приходится работать в довольно тяжелых условиях, поэтому я предпочитаю отдавать полный контроль над ними оператору.
ПРИМЕЧАНИЕ. Я запускаю эти процессы, используя класс на основе модуля subprocess
вместо QProcess
, чтобы иметь дополнительные функции контроля над запущенным процессом.
На данный момент я использую виджет QPlainTextEdit
, к которому я добавляю стандартный вывод/ошибку из подпроцесса, а также несколько кнопок для быстрой отправки некоторых общих сигналов (INT, STOP, CONT, KILL, ..), но:
- В некоторых случаях было бы полезно также отправить некоторые данные. Хотя это можно было бы сделать с помощью поля ввода текста, я бы предпочел использовать что-то более «профессиональное».
- Конечно, нет прямого способа интерпретировать специальные управляющие символы, такие как цветовые коды, движение курсора и т. д.
- Мне пришлось реализовать управление автоматической прокруткой консоли, но это не гарантирует 100% хорошую работу (иногда блокировка прокрутки не работает должным образом и т. д.)
Итак: кто-нибудь знает что-то, что я мог бы использовать для удовлетворения этих потребностей?
Я нашел qtermwidget, но он кажется более ориентированным на обработку процесса оболочки (и привязки Python, похоже, позволяют запускать /bin/bash
только) сам по себе, чем связь с уже существующим вводом-выводом процесса.
pyqt4
наpyqt
? Это два очень разных модуля Python, так какpyqt
был привязкой для старого Qt3, а PyQt4, конечно, для Qt4. - person redShadow   schedule 18.02.2011