Jump to content

Qt5.12.12 Open Source Release for HarmonyOS: Difference between revisions

From Qt Wiki
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-149934: Isolate generated enums per module and move the QPA enums to QtOhosQpa::enums
* 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

Mac&Linux: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260403.tar.xz

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

Mac&Linux: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260625.tar.xz

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

Mac&Linux: https://download.qt.io/snapshots/qt/qt-for-harmonyos/5.12.12/qt-harmonyos-src-5.12.12-20260930.tar.xz

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
  • 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-2157: Relax the device guards on setWindowLimits() and setWindowShadowRadius()
  • QTFOROH-2166: Fix blurry file icons by scaling the file icon SVG at the requested size
  • QTFOROH-2193: Attach and detach the input method context on ArkUI node focus changes
  • QTFOROH-2257: Fix the lower output range bound for signed sensors
  • QTFOROH-2258: Provide the IME with the text left and right of the cursor
  • QTFOROH-2259: Fix hover event generation
  • QTFOROH-2265: Trigger the long-press context menu for pen tool events
  • QTFOROH-2270: Report global positions for non-client area events and fix cross-screen window content rescaling
  • QTFOROH-2277: Honor the setPreviewText range in input method preview handling
  • QTFOROH-2279: Introduce the "need soft keyboard" Huawei patch
  • 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-2283: Fix a maximized window landing on the wrong screen
  • QTFOROH-2288: Derive the window fixed-size state from size hints instead of a dedicated QPA function
  • QTFOROH-2289: Define the QOhosUdsMeta static constexpr members
  • QTFOROH-2290: Fix the selection change notification for an empty editor
  • QTFOROH-2295: Report text changes to the accessibility service
  • QTFOROH-2296: Fix a use-after-free in accessibility element info
  • QTFOROH-2310: Check the WiFi permissions before calling into wifiManager
  • QTFOROH-2311: Support enum variants for newer API versions in qohosenumsgen.py
  • QTBUG-144929: Stop passing const objects to QObject::disconnect()
  • QTBUG-146769: Use point size instead of pixel size for the QGroupBox widget
  • QTBUG-146821: Register the @ohos.net.connection JS module, add its enums and the QNapi getFilteredArrayElements() helper
  • 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-147393: Remove std exception use from the OHOS plugin, aborting or reporting errors explicitly instead
  • QTBUG-147399: Consolidate the OHOS enums into qohosenums.h and add a generator script for it
  • QTBUG-147401: Set the Qt thread default stack size to 8 MiB
  • QTBUG-147409: Fix QNapi Buffer/TypedArray detection, empty input handling and functor/context lvalue handling
  • QTBUG-147485: Set ActiveWindowFocusReason on window activation
  • QTBUG-147543: Replace QOhosOptional with optional-lite's nonstd::optional across all OHOS plugins
  • QTBUG-147552: Force-resolve pending window destroy promises when Qt main() exits
  • QTBUG-147641: Ignore an invalid rect in tablet screen rotation detection
  • 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-147740: Stop overriding the QGroupBox title alignment
  • QTBUG-147756: Exclude OHOS from the QTest perf-events benchmark backend
  • QTBUG-147819: Work around the UDMF eager provider call on empty records
  • QTBUG-147896: Fix embedded view input focus and IME cursor rectangle positioning on focus object changes
  • QTBUG-147959: Clamp backing store blits to the destination buffer
  • QTBUG-148052: Fix the window position after destroy() and recreation
  • QTBUG-148185: Store QOhosView::ViewType as a structural role and check the proxy where code relied on its type fallback
  • QTBUG-148227: Fix a buffer leak in callOhFileUriConversionFunc()
  • QTBUG-148234: Fix fullscreen windows landing on the wrong screen in multi-screen setups
  • QTBUG-148259: Stop reporting a hide()-issued minimize as Qt::WindowMinimized
  • QTBUG-148264: Derive the application state from the OHOS lifecycle and stop reporting Qt::WindowActive as a window state
  • 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-148346: Derive the application state from the OHOS lifecycle
  • QTBUG-148367: Prefer QNapi Object::eval() over call()
  • QTBUG-148419: Fix a crash when handling IME cursor movement
  • QTBUG-148420: Preserve combined window states
  • QTBUG-148469: Preserve the original system tray icon colors instead of forcing grayscale in the PC status bar
  • QTBUG-148510: Stop passing the launch URI as an application argument
  • QTBUG-148544: Promote non-client area touch to mouse events
  • QTBUG-148547: Deliver window activation dropped by a modal blocker
  • QTBUG-148549: Route minimize(), recover() and setFullScreen() through flushedWindowProxyOrNull()
  • QTBUG-148571: Drop stale touch move events instead of individual touch points and treat native zoom/rotation values as incremental deltas
  • QTBUG-148752: Add a HarmonyOS Symbol icon engine and unify QIcon theme icon loading with cache invalidation on theme changes
  • QTBUG-148817: Stop reporting ApplicationHidden before any window is exposed
  • QTBUG-148993: Skip resizeAsync() when the window size is unchanged
  • QTBUG-149105: Fix a crash when a native sub-window cannot use SessionManager
  • 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