无法在 QML 自定义项中发出信号

Can't emit signal in QML custom Item

我用信号 clicked 创建了我自己的项目,其中包含 MouseArea。单击 MouseArea 时,我想发出信号 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
    }
}

非常感谢你的帮助!

函数(即信号)是 JS 中的第一个 class 对象,因此不带括号引用它们并不是错误。但是您需要它们才能执行功能(即发出信号)。

所以只需更改此行:

onClicked:  baseButton.clicked()