Important: Please read the Qt Code of Conduct -

Using QWindowsPipeReader private class

  • I am integrating a old console program into a QT plugin and I would like to redirect stdout and stderr to a slot using StdoutRedirector as described here:

    I have this working on an experimental basis and it looks very promising.

    However it uses QWindowsPipeReader which seems to be a private class - I have to include 'core-private' in the .pro file and include the header 'private/qwindowspipereader_p.h'. I cannot find any non-private header for QWindowsPipeReader.

    I am wondering if I can get away with using this private class in a windows release package. I presume I will always be distributing matching versions of the QT library DLLs with my package. Doesn't that mean that I won't need to worry about using the wrong private class.

  • Moderators

    As with any private implementation you're free to use it but it's all on you if something breaks. It's in the dll as any other public API so there's no problem with packaging.

    You need to remember though that it can change or disappear in any future release without any warning whatsoever, so it might be a blocker for future upgrades and certainly a burden on testing.

    I would advise against it. There's not that much of functionality to implement yourself.

  • Thanks for the quick response Chris.

    Staying with the private implementation during the first stages of development and implementing my own approach later seems like a good solution.

Log in to reply