按qml按钮但没有反应

Posted

技术标签:

【中文标题】按qml按钮但没有反应【英文标题】:press qml button but no response 【发布时间】:2014-11-03 05:01:10 【问题描述】:

我使用下面的代码设置了一个按钮

Button 
    x: 141
    y: 312
    width: 98
    height: 22
    text: qsTr("Hello World")
    anchors.verticalCenterOffset: 116
    anchors.horizontalCenterOffset: -59
    anchors.centerIn: parent

    MouseArea
            
                anchors.rightMargin: 126
                anchors.bottomMargin: -172
                anchors.leftMargin: -126
                anchors.topMargin: 172
                preventStealing: true
                anchors.fill: parent
                onPressed: 
                    console.debug("clicked!")

                


            

按下按钮“hello world”,它应该显示在控制台上单击。

但是当我点击按钮时似乎什么都没有发生

欢迎评论

【问题讨论】:

QML Button 有自己的点击信号,所以你不需要 MouseArea,使用点击信号 你是对的,谢谢 好的,在这种情况下,我将其发布为答案 【参考方案1】:

首先QMLButton有自己的信号clicked,所以你不需要MouseArea

其次,如果您想使用MouseArea,您也可以尝试onClicked 信号并这样做:

Button 
    id: button1
    x: 8
    y: 19
    text: qsTr("Button")
    //        onClicked:  
    //            console.debug("clicked!")
    //        
    MouseArea
        preventStealing: true
        anchors.fill: parent
        onPressed: 
            console.debug("clicked!")
        
        onDoubleClicked:
        
            console.debug("double clicked!")
        
    

http://qt-project.org/doc/qt-5/qml-qtquick-controls-button.html#clicked-signal

http://qt-project.org/doc/qt-5/qml-qtquick-mousearea.html#clicked-signal

【讨论】:

以上是关于按qml按钮但没有反应的主要内容,如果未能解决你的问题,请参考以下文章

flash as3 第一次按下按钮没有反应

通过 C++ 单击按钮后更新 QML TableView

出现连接玩游戏但没有任何反应

如何以编程方式按下 QML 按钮?

如何在本机反应中捕捉 ios 设备按钮按下?

按钮对点击没有反应