how to capture log data in QTextEdit

Stefan Seefeld stefan at
Mon Feb 22 16:18:16 GMT 2021

On 2021-02-22 11:13 a.m., Florian Bruhin wrote:
> Hey Stefan,
> On Sun, Feb 21, 2021 at 11:41:58AM -0500, Stefan Seefeld wrote:
>> I'm trying to capture ("redirect") log data generated by a wrapped C++
>> library to a QTextEdit. The internet is full of related questions, but I
>> couldn't quite find a working example that matches my needs. I can configure
>> my logger to either write to the console (stdout) or to a file, so what I'm
>> looking for is a mechanism to attach a "listener" to the given file
>> descriptor and let it emit a `readyRead` signal whenever data are available.
>> For a reason I don't entirely understand, the `QFile` class does *not* emit
>> that signal, and thus is unfortunately unsuitable for this.
> I'm not sure why either, but FWIW that behavior is documented as well:

Indeed, I found that as well.

>> So, does PyQt5 offer any classes that are equipped to listen to data being
>> written to a file descriptor such that I could read them asynchronously ?
>> The only examples I could find involve (tcp or udp) sockets or serial ports,
>> but not simple files...
> Despite the name, QSocketNotifier might work:
> ("Although the class is called QSocketNotifier, it is normally used for
> other types of devices than sockets")

Thanks ! Yes, I found that solution as well, and was able to apply that 
to my case to make things work.

It would be nice to rename (or at least provide an alias to) the 
QSocketNotifier, to clarify its usefulness with arbitrary file descriptors.

Thank you for following up !



       ...ich hab' noch einen Koffer in Berlin...

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .signature.png
Type: image/png
Size: 2754 bytes
Desc: not available
URL: <>

More information about the PyQt mailing list