Qt Documentation
Go to file
Joerg Bornemann 2a9f5d33a4 Update README
Fix the build instructions to use CMake instead of qmake, and also avoid
the usage of the Qt version.

Don't link to the ancient Qt5DocumentationProject wiki page. Use the Qt
Writing Guidelines as starting point for further information.

Pick-to: 6.5
Change-Id: Icae0658d694f445500985c13f8fdd037657dec12
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-05-09 18:37:33 +02:00
LICENSES Doc: Remove duplicate words (typos) 2023-03-06 12:12:36 +01:00
coin Doc: Enable zero warning limit 2021-11-15 21:32:46 +01:00
dist Add Qt 6.0.0 changes file 2020-11-13 11:43:57 +00:00
doc Doc: fix typo (REQUIRED -> REQUIRES) 2023-05-09 16:37:33 +00:00
examples Fix documentviewer build when PdfWidgets is missing 2023-05-08 17:23:06 +00:00
tests Use versioned CMake targets for Qt modules 2023-05-02 12:03:42 +00:00
.cmake.conf Remove QT_USE_SYNCQT_CPP 2023-01-02 17:41:21 +01:00
.gitattributes Update the git-archive export options 2012-09-03 19:51:51 +02:00
.gitignore Add CMakeLists.txt.user to .gitignore 2023-02-13 11:24:09 +08:00
.tag Update the git-archive export options 2012-09-03 19:51:51 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 10:01:38 +02:00
README Update README 2023-05-09 18:37:33 +02:00
conanfile.py Use SPDX license identifiers 2022-06-07 18:23:52 +02:00
dependencies.yaml Update dependencies on 'dev' in qt/qtdoc 2023-05-03 14:42:59 +00:00
sync.profile remove dependencies from sync.profile 2016-11-14 12:18:33 +00:00

README

To Generate Qt Documentation:

qtdoc contains the main Qt Reference Documentation, which includes
overviews, Qt topics, and examples not specific to any Qt module.The
configuration files are located in qtdoc/doc/config and the articles in
qtdoc/doc/src. Note that QDoc is located in qttools/src/qdoc.

The instructions in this file assumes that the prerequisite binaries are
compiled and in the $PATH variable.

Prerequisites:
    * qtbase exists
    * "qdoc" built and installed
    * other Qt repositories exist as needed

The Qt Reference Documentation was written with links to the released modules
for Qt. If the modules and repositories do not exist, then the resulting HTML
files will contain broken links.

There are two ways to build the documentation. One way is to compile the
documentation using QDoc and the configuration file (qdocconf) file. The other
way is to use CMake and Ninja by running "ninja docs".

Section 1 Building the qdocconf File

    This method is useful for building separate projects without any
    dependencies to other projects.

    To build using the qdocconf file, run the "qdoc" binary and pass the
    qdocconf file as a parameter. "qdoc" is found in qttools repository. A
    mandatory "outputdir" must be specified.

        $> qdoc doc/config/qtdoc.qdocconf -outputdir html

    Note that QDoc will delete the contents of the "html" output directory.

Section 2 Building using CMake and Ninja

    QMake uses the QT_INSTALL_DOCS variable to determine where the documentation
    for Qt is installed. This method is useful for linking to other Qt modules.

    To see where the documentation will be installed, run:
    $> <Qt-installation-dir>/bin/qtpaths -query QT_INSTALL_DOCS

    To generate the documentation, run:

    $> cd qtdoc  #or whichever repository's root
    $> <Qt-installation-dir>/bin/qt-configure-module .
    $> ninja docs
    $> ninja install

    This procedure also works in the top-level Qt repository. Running the
    commands there will generate the documentation for Qt and install them to
    the path set to the QT_INSTALL_DOCS variable.

Section 3 Building Qt Documentation

    To build the Qt module documentation along with the Qt Reference Documentation,
    run the following:

    $> cd qt           # the top-level Qt repository
    $> configure       # creates the build system for all repositories
    $> ninja docs

    To generate only HTML files, run "ninja html_docs" instead of "ninja docs".

Section 4 Packaging the Documentation

    Required binaries:
    * qhelpgenerator - found in qttools

    To compile the qch file for each module, first enter the output directory
    which contains the .qhp file and generate the QCH file.

    $> cd qtbase/doc/qtdoc              #the default path for QT_INSTALL_DOCS for qtdoc
    $> qhelpgenerator qtdoc.qhp         #creates the QCH file called qtdoc.qch

    Alternatively, modules have a "qch_docs" target:
    $> cd qtbase
    $> make qch_docs #builds the QCH files for modules in qtbase

    The QCH file can then be loaded in Qt Creator.

Section 5 More Information

For more information about Qt's documentation, refer to the Qt Project wiki:
https://wiki.qt.io/Qt_Writing_Guidelines