首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QML MouseArea重叠其他小部件

QML MouseArea重叠其他小部件
EN

Stack Overflow用户
提问于 2015-02-23 19:06:50
回答 1查看 4K关注 0票数 0

下面是一些简单的QML代码,包含一个Button和一个MouseArea。我希望Button能够同时检测到鼠标左键和右键的点击。

代码语言:javascript
复制
Rectangle {
    anchors.fill:parent;
    width: 1302
    height: 638

    Button {
        id: button1
        x: 378
        y: 332
        width: 194
        height: 66
        text: qsTr("Button")
    }

    MouseArea {
        id: mouseArea1
        x: 368
        y: 306
        width: 226
        height: 108
        acceptedButtons: Qt.RightButton
        propagateComposedEvents: true
        onClicked: {
            console.log("Click")
            mouse.accepted = false
        }
    }
}

由于MouseArea位于Button之上,我如何迫使Button接受鼠标事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-24 03:31:44

试试看,如果我理解你的话:

代码语言:javascript
复制
import QtQuick 2.4
import QtQuick.Window 2.2
import QtQuick.Controls 1.2


Window {
    id: screen
    width: 800
    height: 600
    visible: true

    Button {
        anchors.centerIn: parent
        text: qsTr("Button")
        onClicked: {
            console.log("Button was clicked");
        }
        z: 100
        MouseArea {
                anchors.fill: parent
                acceptedButtons: Qt.RightButton
                onClicked: {
                    console.log("Button right button was clicked");
                    mouse.accepted = true
                }
            }
    }

    MouseArea {
            anchors.fill: parent
            acceptedButtons: Qt.RightButton
            propagateComposedEvents: true
            onClicked: {
                console.log("Window right button was clicked")
            }
            z: 99
        }
}

但我建议你用普通的方式显示按钮弹出。使用Button.menu显示下拉菜单按钮.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28681447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档