Qt5.12.12 Open Source Release for HarmonyOS: Difference between revisions
No edit summary |
|||
| Line 41: | Line 41: | ||
|328e2746698d | |328e2746698d | ||
|API 20+ | |API 20+ | ||
|QTFOROH-1365: Add native OHOS platform support, including the ohos-clang mkspec, qmake environment variable expansion and 64-bit atomics in bootstrap | |* QTFOROH-1365: Add native OHOS platform support, including the ohos-clang mkspec, qmake environment variable expansion and 64-bit atomics in bootstrap | ||
QTFOROH-1497: Drop the per-insert changeSelection autocorrection hack from input method handling | * QTFOROH-1497: Drop the per-insert changeSelection autocorrection hack from input method handling | ||
QTFOROH-2084: Add distributed data object (DDO) API for app continuation, with file assets and the DISTRIBUTED_DATASYNC permission QTFOROH-2089: Make QOhosSettings a lazy singleton | * QTFOROH-2084: Add distributed data object (DDO) API for app continuation, with file assets and the DISTRIBUTED_DATASYNC permission | ||
QTFOROH-2157: Relax the device guards on setWindowLimits() and setWindowShadowRadius() | * QTFOROH-2089: Make QOhosSettings a lazy singleton | ||
QTFOROH-2166: Fix blurry file icons by scaling the file icon SVG at the requested size | * QTFOROH-2157: Relax the device guards on setWindowLimits() and setWindowShadowRadius() | ||
QTFOROH-2193: Attach and detach the input method context on ArkUI node focus changes | * QTFOROH-2166: Fix blurry file icons by scaling the file icon SVG at the requested size | ||
QTFOROH-2257: Fix the lower output range bound for signed sensors | * QTFOROH-2193: Attach and detach the input method context on ArkUI node focus changes | ||
QTFOROH-2258: Provide the IME with the text left and right of the cursor | * QTFOROH-2257: Fix the lower output range bound for signed sensors | ||
QTFOROH-2259: Fix hover event generation QTFOROH-2265: Trigger the long-press context menu for pen tool events | * QTFOROH-2258: Provide the IME with the text left and right of the cursor | ||
QTFOROH-2270: Report global positions for non-client area events and fix cross-screen window content rescaling | * QTFOROH-2259: Fix hover event generation | ||
QTFOROH-2277: Honor the setPreviewText range in input method preview handling | * QTFOROH-2265: Trigger the long-press context menu for pen tool events | ||
QTFOROH-2279: Introduce the "need soft keyboard" Huawei patch | * QTFOROH-2270: Report global positions for non-client area events and fix cross-screen window content rescaling | ||
QTFOROH-2282: Notify the IME of selection changes with the whole editor text and provide the text index at the cursor from the Qt side | * QTFOROH-2277: Honor the setPreviewText range in input method preview handling | ||
QTFOROH-2283: Fix a maximized window landing on the wrong screen | * QTFOROH-2279: Introduce the "need soft keyboard" Huawei patch | ||
QTFOROH-2288: Derive the window fixed-size state from size hints instead of a dedicated QPA function | * QTFOROH-2282: Notify the IME of selection changes with the whole editor text and provide the text index at the cursor from the Qt side | ||
QTFOROH-2289: Define the QOhosUdsMeta static constexpr members | * QTFOROH-2283: Fix a maximized window landing on the wrong screen | ||
QTFOROH-2290: Fix the selection change notification for an empty editor | * QTFOROH-2288: Derive the window fixed-size state from size hints instead of a dedicated QPA function | ||
QTFOROH-2295: Report text changes to the accessibility service | * QTFOROH-2289: Define the QOhosUdsMeta static constexpr members | ||
QTFOROH-2296: Fix a use-after-free in accessibility element info | * QTFOROH-2290: Fix the selection change notification for an empty editor | ||
QTFOROH-2310: Check the WiFi permissions before calling into wifiManager | * QTFOROH-2295: Report text changes to the accessibility service | ||
QTFOROH-2311: Support enum variants for newer API versions in qohosenumsgen.py | * QTFOROH-2296: Fix a use-after-free in accessibility element info | ||
QTBUG-144929: Stop passing const objects to QObject::disconnect() | * QTFOROH-2310: Check the WiFi permissions before calling into wifiManager | ||
QTBUG-146769: Use point size instead of pixel size for the QGroupBox widget | * QTFOROH-2311: Support enum variants for newer API versions in qohosenumsgen.py | ||
QTBUG-146821: Register the @ohos.net.connection JS module, add its enums and the QNapi getFilteredArrayElements() helper | * QTBUG-144929: Stop passing const objects to QObject::disconnect() | ||
QTBUG-146891: Fix a crash on environment callback unregistration QTBUG-147333: Add icons to system tray menu items QTBUG-147335: Guard update() against a missing focus object | * QTBUG-146769: Use point size instead of pixel size for the QGroupBox widget | ||
QTBUG-147393: Remove std exception use from the OHOS plugin, aborting or reporting errors explicitly instead | * QTBUG-146821: Register the @ohos.net.connection JS module, add its enums and the QNapi getFilteredArrayElements() helper | ||
QTBUG-147399: Consolidate the OHOS enums into qohosenums.h and add a generator script for it | * QTBUG-146891: Fix a crash on environment callback unregistration | ||
QTBUG-147401: Set the Qt thread default stack size to 8 MiB | * QTBUG-147333: Add icons to system tray menu items | ||
QTBUG-147409: Fix QNapi Buffer/TypedArray detection, empty input handling and functor/context lvalue handling | * QTBUG-147335: Guard update() against a missing focus object | ||
QTBUG-147485: Set ActiveWindowFocusReason on window activation | * QTBUG-147393: Remove std exception use from the OHOS plugin, aborting or reporting errors explicitly instead | ||
QTBUG-147543: Replace QOhosOptional with optional-lite's nonstd::optional across all OHOS plugins | * QTBUG-147399: Consolidate the OHOS enums into qohosenums.h and add a generator script for it | ||
QTBUG-147552: Force-resolve pending window destroy promises when Qt main() exits QTBUG-147641: Ignore an invalid rect in tablet screen rotation detection | * QTBUG-147401: Set the Qt thread default stack size to 8 MiB | ||
QTBUG-147695: Keep embedded child windows Qt-authoritative QTBUG-147720: Adopt the JsScopeData pattern for clipboard and system tray JS state, and document it | * QTBUG-147409: Fix QNapi Buffer/TypedArray detection, empty input handling and functor/context lvalue handling | ||
QTBUG-147740: Stop overriding the QGroupBox title alignment QTBUG-147756: Exclude OHOS from the QTest perf-events benchmark backend | * QTBUG-147485: Set ActiveWindowFocusReason on window activation | ||
QTBUG-147819: Work around the UDMF eager provider call on empty records | * QTBUG-147543: Replace QOhosOptional with optional-lite's nonstd::optional across all OHOS plugins | ||
QTBUG-147896: Fix embedded view input focus and IME cursor rectangle positioning on focus object changes | * QTBUG-147552: Force-resolve pending window destroy promises when Qt main() exits | ||
QTBUG-147959: Clamp backing store blits to the destination buffer QTBUG-148052: Fix the window position after destroy() and recreation | * QTBUG-147641: Ignore an invalid rect in tablet screen rotation detection | ||
QTBUG-148185: Store QOhosView::ViewType as a structural role and check the proxy where code relied on its type fallback | * QTBUG-147695: Keep embedded child windows Qt-authoritative | ||
QTBUG-148227: Fix a buffer leak in callOhFileUriConversionFunc() | * QTBUG-147720: Adopt the JsScopeData pattern for clipboard and system tray JS state, and document it | ||
QTBUG-148234: Fix fullscreen windows landing on the wrong screen in multi-screen setups | * QTBUG-147740: Stop overriding the QGroupBox title alignment | ||
QTBUG-148259: Stop reporting a hide()-issued minimize as Qt::WindowMinimized | * QTBUG-147756: Exclude OHOS from the QTest perf-events benchmark backend | ||
QTBUG-148264: Derive the application state from the OHOS lifecycle and stop reporting Qt::WindowActive as a window state | * QTBUG-147819: Work around the UDMF eager provider call on empty records | ||
QTBUG-148267: Report the user-set printer alias as the print device name QTBUG-148273: Keep Qt's focus while another of our windows holds it and report MultipleWindows only in free-window mode | * QTBUG-147896: Fix embedded view input focus and IME cursor rectangle positioning on focus object changes | ||
QTBUG-148346: Derive the application state from the OHOS lifecycle | * QTBUG-147959: Clamp backing store blits to the destination buffer | ||
QTBUG-148367: Prefer QNapi Object::eval() over call() | * QTBUG-148052: Fix the window position after destroy() and recreation | ||
QTBUG-148419: Fix a crash when handling IME cursor movement | * QTBUG-148185: Store QOhosView::ViewType as a structural role and check the proxy where code relied on its type fallback | ||
QTBUG-148420: Preserve combined window states | * QTBUG-148227: Fix a buffer leak in callOhFileUriConversionFunc() | ||
QTBUG-148469: Preserve the original system tray icon colors instead of forcing grayscale in the PC status bar | * QTBUG-148234: Fix fullscreen windows landing on the wrong screen in multi-screen setups | ||
QTBUG-148510: Stop passing the launch URI as an application argument | * QTBUG-148259: Stop reporting a hide()-issued minimize as Qt::WindowMinimized | ||
QTBUG-148544: Promote non-client area touch to mouse events | * QTBUG-148264: Derive the application state from the OHOS lifecycle and stop reporting Qt::WindowActive as a window state | ||
QTBUG-148547: Deliver window activation dropped by a modal blocker | * QTBUG-148267: Report the user-set printer alias as the print device name | ||
QTBUG-148549: Route minimize(), recover() and setFullScreen() through flushedWindowProxyOrNull() | * QTBUG-148273: Keep Qt's focus while another of our windows holds it and report MultipleWindows only in free-window mode | ||
QTBUG-148571: Drop stale touch move events instead of individual touch points and treat native zoom/rotation values as incremental deltas | * QTBUG-148346: Derive the application state from the OHOS lifecycle | ||
QTBUG-148752: Add a HarmonyOS Symbol icon engine and unify QIcon theme icon loading with cache invalidation on theme changes | * QTBUG-148367: Prefer QNapi Object::eval() over call() | ||
QTBUG-148817: Stop reporting ApplicationHidden before any window is exposed | * QTBUG-148419: Fix a crash when handling IME cursor movement | ||
QTBUG-148993: Skip resizeAsync() when the window size is unchanged | * QTBUG-148420: Preserve combined window states | ||
QTBUG-149105: Fix a crash when a native sub-window cannot use SessionManager | * QTBUG-148469: Preserve the original system tray icon colors instead of forcing grayscale in the PC status bar | ||
QTBUG-149294: Map the right Alt key to Qt::Key_Alt | * QTBUG-148510: Stop passing the launch URI as an application argument | ||
QTBUG-149323: Advertise and deliver URLs for native hyperlink drags and drop the synthesized text/plain entry | * QTBUG-148544: Promote non-client area touch to mouse events | ||
QTBUG-149334: Forward native gestures from the touchpad only and treat native zoom/rotation values as incremental deltas | * QTBUG-148547: Deliver window activation dropped by a modal blocker | ||
QTBUG-149374: Populate applicationVersion() from the bundle versionName | * QTBUG-148549: Route minimize(), recover() and setFullScreen() through flushedWindowProxyOrNull() | ||
QTBUG-149381: Fix a drag crash on a null QImage payload | * QTBUG-148571: Drop stale touch move events instead of individual touch points and treat native zoom/rotation values as incremental deltas | ||
QTBUG-149448: Resolve the QMenuBar screen geometry mismatch when placing popups | * QTBUG-148752: Add a HarmonyOS Symbol icon engine and unify QIcon theme icon loading with cache invalidation on theme changes | ||
QTBUG-149835: Take a QAbility throughout the JsState APIs and handle a missing UIAbility explicitly instead of relying on QAbilityPeer fallbacks | * QTBUG-148817: Stop reporting ApplicationHidden before any window is exposed | ||
QTBUG-149899: Handle the JS promises in QOhosWindowProxy | * QTBUG-148993: Skip resizeAsync() when the window size is unchanged | ||
* QTBUG-149105: Fix a crash when a native sub-window cannot use SessionManager | |||
QTBUG-149934: Isolate generated enums per module and move the QPA enums to QtOhosQpa::enums | * QTBUG-149294: Map the right Alt key to Qt::Key_Alt | ||
* QTBUG-149323: Advertise and deliver URLs for native hyperlink drags and drop the synthesized text/plain entry | |||
* QTBUG-149334: Forward native gestures from the touchpad only and treat native zoom/rotation values as incremental deltas | |||
* QTBUG-149374: Populate applicationVersion() from the bundle versionName | |||
* QTBUG-149381: Fix a drag crash on a null QImage payload | |||
* QTBUG-149448: Resolve the QMenuBar screen geometry mismatch when placing popups | |||
* QTBUG-149835: Take a QAbility throughout the JsState APIs and handle a missing UIAbility explicitly instead of relying on QAbilityPeer fallbacks | |||
* QTBUG-149899: Handle the JS promises in QOhosWindowProxy | |||
* QTBUG-149934: Isolate generated enums per module and move the QPA enums to QtOhosQpa::enums | |||
|- | |- | ||
|} | |} | ||
Revision as of 03:20, 13 October 2026
中文 English
Release Summary
This open-source release officially launches Qt 5.12.12 LTS adapted for HarmonyOS on the tablet an PC, featuring deep adaptation to the HarmonyOS architecture while fully retaining the core capabilities of Qt 5.12.12, including GUI rendering, signal-slot mechanism, cross-platform I/O, network communication and database modules. This release reduces cross-platform porting costs for developers, accelerates the integration of Qt and HarmonyOS ecosystems, and empowers efficient development of multi-scenario HarmonyOS applications.
License Statement for the Qt 5.12.12 source code adapted for HarmonyOS released this version is as follows:
- The license terms for the original Qt 5.12.12 source code remain unchanged. For details, please refer to: https://doc.qt.io/archives/qt-5.12/licensing.html
- The newly added code for HarmonyOS adaptation is licensed under both commercial license and LGPL v3 open source license.
- Please refer to license claim in the header comments of source code for specifics.
Release versions
Please refer to the table below about the release information of Qt5.12.12 HarmonyOS open source package, :
| Package Name | Download Link | Sha | HarmonyOS Version | Release Notes |
|---|---|---|---|---|
| qt-harmonyos-src-5.12.12-20260403 | Windows: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260403.zip | 9affa9320102 | API 20+ | |
| qt-harmonyos-src-5.12.12-20260625 | Windows: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260625.zip | a5efc71951a5 | API 20+ | |
| qt-harmonyos-src-5.12.12-20260930 | HarmonyOS: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260930.tar.xz
Windows: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260930.zip |
328e2746698d | API 20+ | * QTFOROH-1365: Add native OHOS platform support, including the ohos-clang mkspec, qmake environment variable expansion and 64-bit atomics in bootstrap
|