diff --git a/src/quickcontrols/basic/Menu.qml b/src/quickcontrols/basic/Menu.qml index 288a618de0..f18b40545f 100644 --- a/src/quickcontrols/basic/Menu.qml +++ b/src/quickcontrols/basic/Menu.qml @@ -22,8 +22,8 @@ T.Menu { implicitHeight: contentHeight model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/src/quickcontrols/fusion/Menu.qml b/src/quickcontrols/fusion/Menu.qml index b35ad7d97c..96a76f6c60 100644 --- a/src/quickcontrols/fusion/Menu.qml +++ b/src/quickcontrols/fusion/Menu.qml @@ -26,8 +26,8 @@ T.Menu { implicitHeight: contentHeight model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/src/quickcontrols/imagine/Menu.qml b/src/quickcontrols/imagine/Menu.qml index da8011af0c..8a9e288d3b 100644 --- a/src/quickcontrols/imagine/Menu.qml +++ b/src/quickcontrols/imagine/Menu.qml @@ -36,8 +36,8 @@ T.Menu { implicitHeight: contentHeight model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/src/quickcontrols/ios/Menu.qml b/src/quickcontrols/ios/Menu.qml index eaf71751cc..0b6fee9a7c 100644 --- a/src/quickcontrols/ios/Menu.qml +++ b/src/quickcontrols/ios/Menu.qml @@ -35,8 +35,8 @@ T.Menu { implicitHeight: contentHeight model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/src/quickcontrols/material/Menu.qml b/src/quickcontrols/material/Menu.qml index ed92c09057..155220b1c1 100644 --- a/src/quickcontrols/material/Menu.qml +++ b/src/quickcontrols/material/Menu.qml @@ -42,8 +42,8 @@ T.Menu { model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/src/quickcontrols/universal/Menu.qml b/src/quickcontrols/universal/Menu.qml index 75ba9ad2da..f36a82a512 100644 --- a/src/quickcontrols/universal/Menu.qml +++ b/src/quickcontrols/universal/Menu.qml @@ -23,8 +23,8 @@ T.Menu { implicitHeight: contentHeight model: control.contentModel interactive: Window.window - ? contentHeight + control.topPadding + control.bottomPadding > Window.window.height - : false + ? contentHeight + control.topPadding + control.bottomPadding > control.height + : false clip: true currentIndex: control.currentIndex diff --git a/tests/auto/quickcontrols/qquickmenu/data/scrollableWithFixedHeight.qml b/tests/auto/quickcontrols/qquickmenu/data/scrollableWithFixedHeight.qml new file mode 100644 index 0000000000..1156d30aef --- /dev/null +++ b/tests/auto/quickcontrols/qquickmenu/data/scrollableWithFixedHeight.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +import QtQuick +import QtQuick.Controls +import QtQuick.Window + +Window { + width: 300 + height: 300 + + property alias menu: menu + + Menu { + id: menu + anchors.centerIn: parent + height: 100 + visible: true + Repeater { + model: 10 + delegate: MenuItem { + objectName: text + text: (index + 1) + } + } + } +} diff --git a/tests/auto/quickcontrols/qquickmenu/tst_qquickmenu.cpp b/tests/auto/quickcontrols/qquickmenu/tst_qquickmenu.cpp index 503485741b..fbb4e7d5f9 100644 --- a/tests/auto/quickcontrols/qquickmenu/tst_qquickmenu.cpp +++ b/tests/auto/quickcontrols/qquickmenu/tst_qquickmenu.cpp @@ -1788,6 +1788,7 @@ void tst_QQuickMenu::scrollable_data() QTest::addRow("Window") << QString::fromLatin1("windowScrollable.qml"); QTest::addRow("ApplicationWindow") << QString::fromLatin1("applicationWindowScrollable.qml"); QTest::addRow("WithPadding") << QString::fromLatin1("scrollableWithPadding.qml"); + QTest::addRow("FixedHeight") << QString::fromLatin1("scrollableWithFixedHeight.qml"); } void tst_QQuickMenu::scrollable()