|More I get into this the more confused I am .
The Qt QProcess starts external application...
Per Qt QProcess doc
Processes have two predefined output channels: The standard output channel (stdout) supplies regular console output, and the standard error channel (stderr) usually supplies the errors that are printed by the process. These channels represent two separate streams of data. You can toggle between them by calling setReadChannel(). QProcess emits readyRead() when data is available on the current read channel. It also emits readyReadStandardOutput() when new standard output data is available, and when new standard error data is available, readyReadStandardError() is emitted. Instead of calling read(), readLine(), or getChar(), you can explicitly read all data from either of the two channels by calling readAllStandardOutput() or readAllStandardError().
I am decoding the above as QProcess can communicate with the started external application using standard stdio/stdout.
Now the application started is "xterm" which executes "bluetoothctl".
I am redirecting the result of the "bluetoothctl" output to temporary file...
I have "xterm" itself optioned for logging and have the log file - it has SAME contents and format as
my temporary "bluetoothctl" file .
I have added "connect " to my code to capture any of this "printing" , but the SIGNAL ( as described in the doc snippet ) never arrives - hence neither xterm logging process nor bluetoothctl temp file are stdin/stdout.
My question - what processes / prints the xterm log and the bluetoothctl file?
Obviously these (prints) are not standard stdin/stdout.
I realize this is no longer C code issue, actually it never was pure C code issue ,
but still getting no help from QT forum.
PS xterm has "-C" - console option , but using it did not resolve the issue.