QML笔记-对QML中信号与槽的基本认识
生活随笔
收集整理的這篇文章主要介紹了
QML笔记-对QML中信号与槽的基本认识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
?
?
基本概念
演示及實例
?
基本概念
首先是信號的聲明,如下:
Rectangle{id: rectangleIdsignal greet(string message)... }當聲明一個信號后會自動生成一個on<SignalName>這個槽函數(這種是JavaScript代碼)
?
使用下面的方式也可以關聯信號與槽,槽函數如下!
function myGreeting(mMessage){console.log("myGreeting function called. The parameter is : " + mMessage)... }關聯如下:
Component.onCompleted:{rectangleId.greet.connect(rectangleId.myGreeting) }?
演示及實例
運行截圖如下:
程序結構如下:
源碼如下:
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")}}} }?
總結
以上是生活随笔為你收集整理的QML笔记-对QML中信号与槽的基本认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软考系统架构师笔记-最后知识点总结(一)
- 下一篇: Kafka笔记-Kafka集群搭建