SplitView 项内的 MouseArea 将鼠标事件从 Splitview 句柄中移开

Posted

技术标签:

【中文标题】SplitView 项内的 MouseArea 将鼠标事件从 Splitview 句柄中移开【英文标题】:MouseArea inside SplitView item takes mouse events away from Splitview handle 【发布时间】:2020-10-01 21:06:04 【问题描述】:

我正在使用 qt 快速控件 2 SplitView,似乎 SplitView 的项目中的任何 MouseArea 都将鼠标事件从 SplitView 句柄中移开。这意味着当手柄位于具有MouseArea 的组件上方时,无法拖动手柄,例如Button,在SplitView 的项目内。

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.13

Window 
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")

    SplitView 
        id: splitView
        anchors.fill: parent
        handle: Rectangle 
            id: handle
            implicitWidth: 20
            color: "red"
        

        Page 
            id: firstPage
            Button 
                id: button
                implicitWidth: 100
                implicitHeight: 50
                text: "button"
            
        

        Page 
            id: secondPage
        
    

正常行为:

按钮从句柄阻止鼠标事件:

我尝试将splitViewhandle 的z 值设置为大于firstPagebutton 的z 值,但这不起作用。

【问题讨论】:

您可能需要将此报告为错误。我看了看,但没有找到它的现有报告。我找到的最接近的是this。 【参考方案1】:
   Page 
        id: firstPage
        clip: true
        Button 
            id: button
            implicitWidth: 100
            implicitHeight: 50
            text: "button"
        
    

您必须在页面上激活剪辑。 我在一个空的项目上测试它可以工作。:D 我想把手栏下加载按钮的右侧仍然处于活动状态。 (如果有人确切知道为什么要发表评论)

【讨论】:

【参考方案2】:

尝试将第一页和第二页的z值设置为-1,SplitView设置为1

【讨论】:

不幸的是仍然相同的行为

以上是关于SplitView 项内的 MouseArea 将鼠标事件从 Splitview 句柄中移开的主要内容,如果未能解决你的问题,请参考以下文章

mule/java - 从 java 类读取 jar 依赖项内的属性文件

修复了 flexbox 项内的元素

浮动列表项内的垂直居中锚点

如何在redux中更新特定数组项内的单个值

在 mousemove 上平移指定范围内的 div 位置

将 MouseArea 扩展到组件之外