QML筆記-對QML中信號與槽的基本認識

版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。
本文連接:https://blog.csdn.net/qq78442761/article/details/90753986
目錄函數

 

 

基本概念ui

演示及實例.net

 

基本概念
首先是信號的聲明,以下:blog

Rectangle{
 
    id: rectangleId
    signal greet(string message)
 
    ...
}
當聲明一個信號後會自動生成一個on<SignalName>這個槽函數(這種是JavaScript代碼)ip

 

使用下面的方式也能夠關聯信號與槽,槽函數以下!rem

function myGreeting(mMessage){
 
    console.log("myGreeting function called. The parameter is : " + mMessage)
    
    ...
}
關聯以下:源碼

Component.onCompleted:{
 
    rectangleId.greet.connect(rectangleId.myGreeting)
}
 string

演示及實例
運行截圖以下:it

程序結構以下:io

源碼以下:

main.qml

import QtQuick 2.9
import QtQuick.Window 2.2
 
Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
 
    property int increment: 50
 
    Rectangle {
 
        id: rectangleId
        width: 200 + increment
        height: 300
        color: "red"
 
        signal greet(string message)
 
 
        function myGreeting(mMessage){
 
            console.log("myGreeting slot called. The parameter is : " + mMessage)
            increment += 50
        }
 
        MouseArea{
 
            anchors.fill: parent
            onClicked: {
 
                rectangleId.greet("Hello there")
            }
        }
 
        Component.onCompleted: {
 
            greet.connect(rectangleId.myGreeting)
        }
    }
}
另一種方法:

import QtQuick 2.9 import QtQuick.Window 2.2   Window {     visible: true     width: 640     height: 480     title: qsTr("Hello World")       property int increment: 50       Rectangle {           id: rectangleId         width: 200 + increment         height: 300         color: "red"           signal greet(string message)             onGreet: {               console.log("onGreet: greet signal emited, parameter is : " + increment)             increment += 50         }           MouseArea{               anchors.fill: parent             onClicked: {                   rectangleId.greet("Hello there")             }         }     } }   ———————————————— 版權聲明:本文爲CSDN博主「IT1995」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。 原文連接:https://blog.csdn.net/qq78442761/article/details/90753986

相關文章
相關標籤/搜索