About QDoc5 and doxygen

  • Hi all,

    I've recently found the time to look into the documentation about QDoc 5.1. So far, it seems like a good alternative to doxygen for documenting Qt related code – It should surely make it easier to give a better integrated look&feel of the documentation.

    So currently I'm using doxygen for a library project (~25 klocs), and I'm wondering whether switching to QDoc would be worth it. Is there anyone here who has experience both with doxygen and QDoc, or even with migrating a project from doxygen to QDoc? Were there specific doxygen features you missed in QDoc? Were there great hurdles migrating documentation? (From what I can tell, the fact that doxygen parses .h files and QDoc doesn't, looks like a big one.)

    Now a more concrete question: creating Qt-Assistant integration with .qch files is easy-peasy with doxygen. However, until now I've only found out that QDoc generates a set of HTML or DITA XML files. How are .qch files generated with QDoc?

    And finally: Is usage of QDoc still discouraged? I think I remember that some time ago Qt developers didn't suggest using qdoc, for whatever reason.

    Looking forward to your comments and thoughts about documenting with qdoc and doxygen.

  • Moderators

    In pretty much random order:

    AFAIK qdoc is still considered an internal tool, not to be used for other projects

    in order to generate QCH files, you have to (just like doxygen does) run qhelpgenerator after running qdoc

    doxygen has more features than qdoc. The only place where it fails is QML documentation, but KDE has prepared a splendid plugin that can handle QML

    it's been a while since I've used qdoc, so I'm probably biased, but for me doxygen is the way to go

    hurdles... well, probably not many. You would need to generate the config file again, from ground up. The comments in-source are mostly compatible, so there should not be too much to refactor

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.