Skip to content

:copilot: Using only Qt6 (deprecated Qt5)#464

Description

@j2doll

Hello. I'm collecting comments on QXlsx not using Qt5 馃拃 , only using Qt6.

If we only use Qt6, we will not be able to use it with older compilers or old operating systems.

If any one have any comments, please leave a comment.



:copilot: Qt 5.15 LTS Support Lifetime Summary

馃搮 Support End Dates by License

  • Open Source (Community): December 8, 2020
    (Public patch releases were restricted 6 months after the initial launch).
  • Standard Commercial: May 26, 2023
    (Standard 3-year commercial support window).
  • Commercial Extended Support: May 26, 2025
    (An additional 2-year extension, marking the absolute end of the standard LTS lifecycle).

鈿狅笍 Current Status (As of 2026)

  • End of Life (EoL): All standard and extended support for Qt 5.15 LTS has officially expired. No further regular bug fixes or security patches are being released.
  • Migration Recommended: It is highly recommended to migrate legacy systems to Qt 6 LTS (such as Qt 6.5 LTS or Qt 6.8 LTS) to ensure ongoing security, platform compatibility, and technical support.


:copilot: Qt 6 and C++ version

Qt 6 requires C++17 as the minimum baseline for both building the framework itself and developing applications with it.

While the minimum requirement remains C++17 across all minor versions (from Qt 6.0 up to Qt 6.8+), newer minor versions continuously expand support for newer C++ standards ($C++20$ and $C++23$) and introduce stricter requirements for specific modules.

C++ Requirements by Qt 6 Minor Version

Qt Version Minimum C++ Standard Key Changes & Standard Support
Qt 6.0 ~ 6.2 LTS C++17 C++17 became the strict baseline for Qt 6. Started adding partial support for C++20 features (e.g., designated initializers).
Qt 6.3 ~ 6.5 LTS C++17 Enhanced integration with std::chrono and expanded C++20-related macros and helper functions.
Qt 6.6 ~ 6.7 C++17 Improved compatibility with C++20 containers. Active compiler testing for C++23 compatibility.
Qt 6.8 LTS ~ 6.9+ C++17 (C++20 for certain modules) Qt WebEngine and other Chromium-based modules now strictly require a C++20 compiler. Deeper integration with C++20/C++23 standard library features.

Key Highlights & Considerations

  • Framework Baseline: You must use a compiler that supports at least C++17 to build or develop with any Qt 6 version (upgraded from the C++11 baseline in Qt 5).
  • The Qt WebEngine Exception: Starting from Qt 6.8 LTS, the Qt WebEngine module requires a C++20 compiler due to upstream Chromium updates. If your project utilizes WebEngine, your build environment must be set to C++20.
  • Using C++20/C++23 in Your Code: Even though Qt 6 is built on C++17, you can freely set CMAKE_CXX_STANDARD to 20 or 23 in your own project's CMakeLists.txt. Qt 6 fully supports this, and newer minor versions (especially Qt 6.5+) offer much smoother type conversions between Qt types and modern C++ types (like QDateTime and std::chrono).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions