QT QML 信号 处理 1

本文将介绍QtQuick中的'固有'信号概念及其使用方法,通过一个鼠标版跑马灯实例演示如何实现信号与事件处理。重点突出信号定义、事件触发及自定义信号的调用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.“固有”信号(attached signal),即Item等等中自带的信号,在信号名前加"on"(不含引号)可得到处理函数。

2.对于无参数信号,最好在信号中和处理过程中把括号加上,不管你这样做不做,反正我这样做了。

import QtQuick 1.0

Rectangle {
    id: myItem
    color: "gold"
    property int myWidth: 100
    property int myHight: 100
    width: myWidth
    height: myHight

    signal myEnter()
    signal myExit()
    signal myClicked()
    MouseArea{
        anchors.fill: parent
        hoverEnabled: true
        onEntered:{
            parent.color="red";
            myItem.myEnter();
        }
        //onEntered: myItem.enter()
        onExited: {
            myItem.myExit();
            parent.color="gold";
        }
        onClicked: myItem.myClicked()


    }
}
上面是一个练习:鼠标版的跑马灯,下面是调用的主程序:

import QtQuick 1.0


    Grid{
        rows: 1
        columns:5
        spacing: 5
        //Cell{cellColor: "red";onClicked: container.cellColor="black"}
        Light{}
        Light{}
        Light{}
        Light{}
        Light{}
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值