I wrote an application that, among other things, launches some "backend" processes to do some stuff.
These subprocesses are very likely to fail or have unexpected behavior since they have to operate in quite hard conditions, so I prefer to give full control over them to the operator.
NOTE: I am running these processes using a subprocess module based class instead of QProcess to have some more control functionality over the running process.
At the moment, I'm using a QPlainTextEdit widget to which I append standard output/error from the subprocess, plus some buttons to quickly send some common signals (INT, STOP, CONT, KILL, ..), but:
In some cases it would be useful to send some input too. Although it could be done with a text input box, I would prefer using something more "professional"
Of course, there is no direct way to interpret special control characters, such as color codes, cursor movement, etc..
I had to implement an auto-scroll management of the console, but it is not guaranteed 100% to work nicely (sometimes the scroll locking doesn't work as expected, etc.)
So: does anyone know something I could use to accomplish these needs?
I found qtermwidget but it seems more oriented on handling a shell process (and the Python bindings seems to let you run /bin/bash only) by itself than communicating with an already existing process I/O.