在QML定制项目可以不发射信号(Can't emit signal in QML custo

2019-10-29 17:33发布

我创建了自己的项目与信号clicked ,即contatins鼠标区域。 我想发出信号clicked ,点击鼠标区域的时候。 但没有任何工程。 这里是我的.qml代码:

import QtQuick 2.4

Item {

    id: baseButton

    property alias text: txt.text
    width: txt.width
    height: txt.height

    signal clicked

    onClicked : console.log("Clicked!")

    Text {
        id: txt
        color: "white"
        font.pointSize: 8
        anchors.centerIn: parent
    }

    MouseArea {
        id: mousearea
        anchors.fill: parent
        hoverEnabled: true

        onEntered: {
            txt.color = "yellow"
            txt.font.pointSize = 15
        }

        onExited: {
            txt.color = "white"
            txt.font.pointSize = 8
        }

        onClicked:  baseButton.clicked
    }
}

我会是你的帮助,非常感谢!

Answer 1:

函数(信号)是在JS第一类对象,所以它不是指它们不带括号的错误。 但是,你需要他们为了执行功能(即发射信号)。

因此,只要改变这一行:

onClicked:  baseButton.clicked()


文章来源: Can't emit signal in QML custom Item