QML笔记-对QML中信号与槽的基本认识
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                QML笔记-对QML中信号与槽的基本认识
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                目錄
?
?
基本概念
演示及實(shí)例
?
基本概念
首先是信號的聲明,如下:
Rectangle{id: rectangleIdsignal greet(string message)... }當(dāng)聲明一個信號后會自動生成一個on<SignalName>這個槽函數(shù)(這種是JavaScript代碼)
?
使用下面的方式也可以關(guān)聯(lián)信號與槽,槽函數(shù)如下!
function myGreeting(mMessage){console.log("myGreeting function called. The parameter is : " + mMessage)... }關(guān)聯(lián)如下:
Component.onCompleted:{rectangleId.greet.connect(rectangleId.myGreeting) }?
演示及實(shí)例
運(yùn)行截圖如下:
程序結(jié)構(gòu)如下:
源碼如下:
main.qml
import QtQuick 2.9 import QtQuick.Window 2.2Window {visible: truewidth: 640height: 480title: qsTr("Hello World")property int increment: 50Rectangle {id: rectangleIdwidth: 200 + incrementheight: 300color: "red"signal greet(string message)function myGreeting(mMessage){console.log("myGreeting slot called. The parameter is : " + mMessage)increment += 50}MouseArea{anchors.fill: parentonClicked: {rectangleId.greet("Hello there")}}Component.onCompleted: {greet.connect(rectangleId.myGreeting)}} }另外一種方法:
import QtQuick 2.9 import QtQuick.Window 2.2Window {visible: truewidth: 640height: 480title: qsTr("Hello World")property int increment: 50Rectangle {id: rectangleIdwidth: 200 + incrementheight: 300color: "red"signal greet(string message)onGreet: {console.log("onGreet: greet signal emited, parameter is : " + increment)increment += 50}MouseArea{anchors.fill: parentonClicked: {rectangleId.greet("Hello there")}}} }?
總結(jié)
以上是生活随笔為你收集整理的QML笔记-对QML中信号与槽的基本认识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 软考系统架构师笔记-最后知识点总结(一)
- 下一篇: HTTP之Cache-Control基本
