Doc: All overviews list categorization

The \generate list names are added for each categorized section with
some explanation. Here, calling the overviews as
explanations-(name of the section). The idea is to give general terms
instead of specific phrases like 'core' etc, for better understanding.

Allow two warnings for \generatelist commands as the related \group
pages live in modules external to qtdoc and are not loaded when
testing documentation in the CI.

Task-number: QTBUG-115347
Pick-to: 6.5 6.6
Change-Id: Ia8307d42fdb137808ae75cb9bcfeb58de30ba550
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This commit is contained in:
Jaishree Vyas 2023-07-25 18:35:04 +02:00 committed by Topi Reinio
parent d4a134f2e5
commit e5020dd289
23 changed files with 111 additions and 22 deletions

View File

@ -100,5 +100,7 @@ manifestmeta.examplecategories = "Application Examples" \
# Include 'Qt for Education' pages # Include 'Qt for Education' pages
include(../edu/config/qtforeducation.qdocconf) include(../edu/config/qtforeducation.qdocconf)
# Enforce zero documentation warnings # doc/src/overviews.qdoc:
warninglimit = 0 # (qdoc) warning: '\generatelist explanations-webtechnologies' no such group
# (qdoc) warning: '\generatelist explanations-positioning' no such group
warninglimit = 2

View File

@ -5,7 +5,7 @@
\page topics-network-connectivity.html \page topics-network-connectivity.html
\title Networking and Connectivity \title Networking and Connectivity
\brief Qt's network and connectivity features. \brief Qt's network and connectivity features.
\ingroup explanation \ingroup explanations-networkingandconnectivity
Qt provides classes for both high-level and low-level network communication, Qt provides classes for both high-level and low-level network communication,
classes for web integration, and classes for inter-process communication (IPC). classes for web integration, and classes for inter-process communication (IPC).

View File

@ -5,7 +5,7 @@
\page topics-core.html \page topics-core.html
\title Core Internals \title Core Internals
\brief Qt's core topics \brief Qt's core topics
\ingroup explanation \ingroup explanations-basics
Qt contains a rich set of fundamental enablers, mainly from the \l{Qt Core} Qt contains a rich set of fundamental enablers, mainly from the \l{Qt Core}
module. Qt uses these enablers to provide higher-level UI and application module. Qt uses these enablers to provide higher-level UI and application

View File

@ -5,7 +5,7 @@
\page topics-data-io.html \page topics-data-io.html
\title Data Input Output \title Data Input Output
\brief Qt's data input output \brief Qt's data input output
\ingroup explanation \ingroup explanations-dataprocessingandio
This page provides an overview of various ways of retrieving and saving data using Qt. This page provides an overview of various ways of retrieving and saving data using Qt.

View File

@ -5,7 +5,7 @@
\page topics-app-development.html \page topics-app-development.html
\title Development Tools \title Development Tools
\brief Qt tools for application development. \brief Qt tools for application development.
\ingroup explanation \ingroup explanations-tools
Qt is designed for developing applications and user interfaces once and Qt is designed for developing applications and user interfaces once and
deploying them across several desktop and mobile operating systems. deploying them across several desktop and mobile operating systems.

View File

@ -11,11 +11,10 @@
\page accessible.html \page accessible.html
\title Accessibility \title Accessibility
\brief How to make your applications accessible to those with disabilities. \brief How to make your applications accessible to those with disabilities.
\ingroup explanations-accessibility
\nextpage Accessibility for QWidget Applications \nextpage Accessibility for QWidget Applications
\ingroup best-practices
\tableofcontents \tableofcontents
\section1 Introduction \section1 Introduction

View File

@ -8,6 +8,7 @@
\ingroup best-practices \ingroup best-practices
\ingroup qt-gui-concepts \ingroup qt-gui-concepts
\ingroup explanations-platforms
Qt applications behave well in the user's desktop environment, but certain Qt applications behave well in the user's desktop environment, but certain
integrations require additional, and sometimes platform specific, techniques. integrations require additional, and sometimes platform specific, techniques.

View File

@ -6,7 +6,7 @@
\title Graphics \title Graphics
\keyword topics-graphics \keyword topics-graphics
\brief Qt's graphics features \brief Qt's graphics features
\ingroup explanation \ingroup explanations-graphicsandmultimedia
Cross-platform applications can use Qt to display graphical elements. Qt Cross-platform applications can use Qt to display graphical elements. Qt
abstracts the platforms' underlying graphics APIs so that developers can focus abstracts the platforms' underlying graphics APIs so that developers can focus

View File

@ -5,6 +5,7 @@
\page exceptionsafety.html \page exceptionsafety.html
\title Exception Safety \title Exception Safety
\ingroup best-practices \ingroup best-practices
\ingroup explanations-basics
\brief A guide to exception safety in Qt. \brief A guide to exception safety in Qt.
\b {Preliminary warning}: Exception safety is not feature complete! \b {Preliminary warning}: Exception safety is not feature complete!

View File

@ -6,8 +6,7 @@
\page scalability.html \page scalability.html
\brief How to develop applications that scale well on devices with different \brief How to develop applications that scale well on devices with different
screen configurations and UI conventions. screen configurations and UI conventions.
\ingroup explanations-accessibility
\ingroup best-practices
When you develop applications for several different mobile device platforms, When you develop applications for several different mobile device platforms,
you face the following challenges: you face the following challenges:

View File

@ -7,6 +7,7 @@
\brief You can't. But don't despair, there is a way... \brief You can't. But don't despair, there is a way...
\ingroup best-practices \ingroup best-practices
\ingroup explanations-platforms
You \e can't call Qt functions from Unix signal handlers. The You \e can't call Qt functions from Unix signal handlers. The
standard POSIX rule applies: You can only call async-signal-safe standard POSIX rule applies: You can only call async-signal-safe

View File

@ -7,7 +7,7 @@
\brief Qt's support for internationalization and multiple languages. \brief Qt's support for internationalization and multiple languages.
\nextpage Writing Source Code for Translation \nextpage Writing Source Code for Translation
\ingroup explanation \ingroup explanations-accessibility
\keyword internationalization \keyword internationalization
\keyword i18n \keyword i18n

View File

@ -5,7 +5,7 @@
\page mobiledevelopment.html \page mobiledevelopment.html
\title Mobile Development \title Mobile Development
\brief Development for mobile devices. \brief Development for mobile devices.
\ingroup explanation \ingroup explanations-platforms
Qt supports development and deployment of mobile applications. Qt supports development and deployment of mobile applications.

View File

@ -7,7 +7,92 @@
\title All Overviews \title All Overviews
\section1 Overviews \section1 Overviews
\generatelist explanation \l {Introduction to Qt}
\section1 Programming Languages
You can develop Qt applications using one or a combination of the following languages:
\l {Qt Languages}
\list
\li C++
\li QML
\li Python
\li JavaScript
\endlist
\section2 QML and C++
\generatelist explanations-programminglanguages
\section1 Platforms
Develop Qt applications on macOS, Linux, and Windows desktop platforms.
Qt is platform-independent, which means you can compile same code base for other
target platforms.
\generatelist explanations-platforms
\section1 Basics
Learn the Qt basics that define the foundation of Qt.
\generatelist explanations-basics
\section1 UI
Use the Qt Quick and Qt Widget UI technology. Qt Quick interfaces are fluid,
dynamic, and are best on touch interfaces.
Qt Widgets are for creating complex desktop applications. You can create Qt Quick
and Qt Widgets interfaces with the target platform's native look and feel.
\generatelist explanations-ui
\section1 Graphics and Multimedia
Display graphical elements and handle multimedia content.
Qt abstracts the target platforms' underlying graphics APIs so that you can
focus on writing the application code.
Play back audio and video files and render them on screen, as well as
record audio and video from the system's cameras and microphones.
\generatelist explanations-graphicsandmultimedia
\section1 Data processing and I/O
Retrieve and store data in different formats.
\generatelist explanations-dataprocessingandio
\section1 Networking and Connectivity
Develop applications that communicate with Web services and exchange data (JSON or CBOR)
with applications on other devices.
In addition, Qt applications can use remote objects or gRPC and protobuf to
communicate with service endpoints.
\generatelist explanations-networkingandconnectivity
\section1 Web Technologies
Embed content from the World Wide Web into your Qt applications on platforms
that do not have a native web engine.
Alternatively, you can create a web channel for peer-to-peer communication
between a server and a client.
\generatelist explanations-webtechnologies
\section1 Tools
Qt installations contain Qt libraries, examples, documentation, and the necessary
development tools, such as the Qt Creator integrated development environment (IDE)
and Qt Design Studio for developing Qt Quick Applications.
\generatelist explanations-tools
\section1 Accessibility
Write accessible software by letting users scale the UI, change font size and
color contrast, use the keyboard for navigation, have UI text read aloud with
a synthesized voice, and change the UI language.
\generatelist explanations-accessibility
\section1 Positioning
\generatelist explanations-positioning
*/ */

View File

@ -5,7 +5,7 @@
\page platform-integration.html \page platform-integration.html
\title Platform Integration \title Platform Integration
\brief Integrating Qt with the native platform. \brief Integrating Qt with the native platform.
\ingroup explanation \ingroup explanations-platforms
Qt's main strength as a cross-platform toolkit for application development Qt's main strength as a cross-platform toolkit for application development
is removing the need for duplicating the application code for each target is removing the need for duplicating the application code for each target

View File

@ -6,7 +6,7 @@
\title Qt for Android: How It Works \title Qt for Android: How It Works
\brief An overview of architecture, toolchain, and other useful information. \brief An overview of architecture, toolchain, and other useful information.
\ingroup androidplatform \ingroup androidplatform
\ingroup explanation \ingroup explanations-platforms
If you're a developer looking for a high level overview of how Qt supports the If you're a developer looking for a high level overview of how Qt supports the

View File

@ -5,7 +5,7 @@
\page configure-linux-device.html \page configure-linux-device.html
\title Configure an Embedded Linux Device \title Configure an Embedded Linux Device
\brief Provides information about how to configure an Embedded Linux device in Qt. \brief Provides information about how to configure an Embedded Linux device in Qt.
\ingroup explanation \ingroup explanations-platforms
Cross-compiling Qt for a given device requires a \b toolchain and a \b sysroot. The Cross-compiling Qt for a given device requires a \b toolchain and a \b sysroot. The
toolchain is expected to contain a version of gcc, or another compiler, and associated toolchain is expected to contain a version of gcc, or another compiler, and associated

View File

@ -5,7 +5,7 @@
\page qmlapplications.html \page qmlapplications.html
\title QML Applications \title QML Applications
\brief Essential documentation for QML application developers \brief Essential documentation for QML application developers
\ingroup explanation \ingroup explanations-programminglanguages
QML is a declarative language that allows user interfaces to be described in QML is a declarative language that allows user interfaces to be described in
terms of their visual components and how they interact and relate with one terms of their visual components and how they interact and relate with one

View File

@ -4,7 +4,7 @@
\page qtquick-usecase-layouts.html \page qtquick-usecase-layouts.html
\title Use Case - Positioners and Layouts In QML \title Use Case - Positioners and Layouts In QML
\brief Example of how to create layouts for visual components in a QML application \brief Example of how to create layouts for visual components in a QML application
\ingroup explanation \ingroup explanations-programminglanguages
There are several ways to position items in QML. There are several ways to position items in QML.

View File

@ -5,6 +5,7 @@
\page testing-and-debugging.html \page testing-and-debugging.html
\title Testing and Debugging \title Testing and Debugging
\brief Writing unit tests and debugging with Qt \brief Writing unit tests and debugging with Qt
\ingroup explanations-platforms
Qt provides various functionality to help you develop high quality code. There Qt provides various functionality to help you develop high quality code. There
are features that assist in debugging to track down bugs, and testing facilities are features that assist in debugging to track down bugs, and testing facilities

View File

@ -5,7 +5,7 @@
\page topics-ui.html \page topics-ui.html
\title User Interfaces \title User Interfaces
\brief Qt's technologies for Creating User Interfaces \brief Qt's technologies for Creating User Interfaces
\ingroup explanation \ingroup explanations-ui
The Qt framework's main user interface technologies are \b{Qt Quick} The Qt framework's main user interface technologies are \b{Qt Quick}
and \b{Qt Widgets}. Qt Quick interfaces are fluid, dynamic, and are best and \b{Qt Widgets}. Qt Quick interfaces are fluid, dynamic, and are best

View File

@ -5,7 +5,7 @@
\page wayland-and-qt.html \page wayland-and-qt.html
\title Wayland and Qt \title Wayland and Qt
\brief An overview of the Wayland protocol and how it fits into Qt. \brief An overview of the Wayland protocol and how it fits into Qt.
\ingroup explanation \ingroup explanations-platforms
Wayland was developed as an alternative to X11 on Linux. Its main purpose is to manage how Wayland was developed as an alternative to X11 on Linux. Its main purpose is to manage how
the content of applications is displayed together on a shared screen, and how a user can the content of applications is displayed together on a shared screen, and how a user can

View File

@ -5,7 +5,7 @@
\page xml-processing.html \page xml-processing.html
\title XML Processing \title XML Processing
\brief An Overview of the XML processing facilities in Qt. \brief An Overview of the XML processing facilities in Qt.
\ingroup explanation \ingroup explanations-dataprocessingandio
Qt provides two sets of APIs to read and write well-formed XML: \l{XML Streaming}{stream based} and Qt provides two sets of APIs to read and write well-formed XML: \l{XML Streaming}{stream based} and
\l{Working with the DOM Tree}{DOM based}. \l{Working with the DOM Tree}{DOM based}.