Jump to content

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

From Qt Wiki
No edit summary
 
(4 intermediate revisions by the same user not shown)
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
|[[#pkg-5.12.12-20260930|Click here]]
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
QTBUG-149934: Isolate generated enums per module and move the QPA enums to QtOhosQpa::enums
|-
|-
|}
|}
== Release Notes Details ==
=== qt-harmonyos-src-5.12.12-20260930 ===
<span id="pkg-5.12.12-20260930"></span>
* 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
<div class="mw-collapsible mw-collapsed" style="border: 1px solid #eaecf0; padding: 10px; border-radius: 4px;">
* 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
</div>

Latest revision as of 03:51, 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+ Click here

Release Notes Details

qt-harmonyos-src-5.12.12-20260930

  • 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