-
Bug
-
Resolution: Duplicate
-
P2: Important
-
None
-
6.5
-
None
Noticed when trying to use SplitHandle with compile-time style selection:
import QtQuick import QtQuick.Window import QtQuick.Controls.Basic import QtQuick.Layouts Window { id: window width: 1280 height: 720 visible: true SplitView { anchors.fill: parent handle: Rectangle { implicitWidth: 10 color: "tomato" opacity: SplitHandle.hovered || SplitHandle.pressed ? 1.0 : 0.0 Behavior on opacity { OpacityAnimator { duration: 900 easing.type: Easing.Linear } } } Rectangle { implicitWidth: 32 implicitHeight: 32 color: "steelblue" } Rectangle { implicitWidth: 32 implicitHeight: 32 color: "navajowhite" } } }
qrc:/main.qml:17: ReferenceError: SplitHandle is not defined
Attached types that piggy-back on an existing type (like SplitView) work because the Basic style can define SplitView.qml, but that's not possible with SplitHandle, which is purely an attached type.
This patch is enough to fix it:
diff --git a/src/quickcontrols/basic/CMakeLists.txt b/src/quickcontrols/basic/CMakeLists.txt
index e45b6d09c0..c6fdf532d3 100644
--- a/src/quickcontrols/basic/CMakeLists.txt
+++ b/src/quickcontrols/basic/CMakeLists.txt
@@ -155,6 +155,8 @@ qt_internal_add_qml_module(qtquickcontrols2basicstyleplugin
CLASS_NAME QtQuickControls2BasicStylePlugin
DEPENDENCIES
QtQuick/auto
+ IMPORTS
+ QtQuick.Templates/auto
PLUGIN_TARGET qtquickcontrols2basicstyleplugin
NO_PLUGIN_OPTIONAL
NO_GENERATE_PLUGIN_SOURCE
- duplicates
-
QTBUG-104768 Overlay is not available when hardcoding the style
-
- Closed
-