日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

Qt C++属性类型提供给 QML调用(二)

發(fā)布時(shí)間:2025/1/21 c/c++ 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt C++属性类型提供给 QML调用(二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

在上一篇文章中已經(jīng)介紹了 QML 中如何調(diào)用 C++的基礎(chǔ)屬性,那么這里來介紹如何調(diào)用C++對(duì)象類型屬性。

QML 調(diào)用對(duì)象類型屬性

在上一次的代碼基礎(chǔ)上直接修改一下, 再添加一個(gè)類定義,如下:

#include <QObject> class StudentCourse;class Student : public QObject {Q_OBJECTQ_PROPERTY(QString name READ getName WRITE setName NOTIFY sigNameChanged)Q_PROPERTY(StudentCourse* course READ getCourse WRITE setCourse NOTIFY sigCourseChanged) public:explicit Student(QObject *parent = nullptr);~Student(){}void setCourse(StudentCourse* course){m_studentCourse = course;emit sigCourseChanged();}StudentCourse * getCourse(){return m_studentCourse;}void setName(const QString & name){if(name != m_name){m_name = name;emit sigNameChanged(m_name);}}QString getName() const {return m_name;} signals:void sigNameChanged(QString name);void sigCourseChanged();private:QString m_name;StudentCourse * m_studentCourse = Q_NULLPTR; };class StudentCourse : public QObject {Q_OBJECTQ_PROPERTY(QString course READ getCourse WRITE setCourse NOTIFY sigCourseChanged) public:explicit StudentCourse(QObject * parent = nullptr):QObject(parent){}~StudentCourse(){}void setCourse(const QString & course){if(course != m_course){m_course = course;emit sigCourseChanged(m_course);}}QString getCourse() const{return m_course;}signals:void sigCourseChanged(QString course); private:QString m_course; };

由于這次是要調(diào)用對(duì)象型屬性,先要將類注冊(cè)為 QML 可用的類型,在 main 中進(jìn)行注冊(cè):

qmlRegisterType<Student>("Student", 1, 0, "Student"); qmlRegisterType<StudentCourse>("StudentCourse", 1, 0, "StudentCourse");

最后,在 QML 中進(jìn)行調(diào)用,如下:

Window {visible: truewidth: 640height: 480// Label{ // anchors.centerIn: parent // text: student.name// }Connections{target: stonSigNameChanged:{console.log("student name changed",name)}}Connections{target: st.courseonSigCourseChanged:{console.log("course changed:",st.course.course)}}Component.onCompleted: {st.name = "xiaoming"st.course.course = "yuwen"}Student{id:st // name:"xiaoming"course: StudentCourse{ // course:"yuwen"}} }

輸出消息:

qml: student name changed xiaoming qml: course changed: yuwen

代碼寫得很簡(jiǎn)單,應(yīng)該都能看得懂,就不再贅述咯。
代碼在這里

總結(jié)

以上是生活随笔為你收集整理的Qt C++属性类型提供给 QML调用(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 岛国av免费观看 | 亚洲精品一区二区潘金莲 | 久久久精品影院 | 国产jizz18女人高潮 | 超碰天堂 | 国产又粗又猛又黄 | 黄色网址最新 | 日韩激情四射 | 国产伦精品一区二区 | 在线视频综合网 | 91av影院| 中文久久久久 | 久久99精品久久久久久 | 日韩亚洲欧美精品 | 欧美老肥熟 | 久久免费在线观看视频 | 狂野欧美性猛交xxⅹ李丽珍 | 国产一区二区三区免费播放 | 先锋影音av资源在线 | 国产精品视频久久久久久久 | 国产免费一区二区三区视频 | 午夜天堂视频 | 五月av在线 | 女同性恋一区二区三区 | 色999在线观看 | 精品少妇人妻AV无码专区在线 | 午夜影院免费在线观看 | 激情网页 | 国产精品久久久久久久久岛 | 国产精品免费一区二区三区四区 | 成人黄色在线免费观看 | 裸体女人a级一片 | 久操视频在线观看免费 | 亚洲欧美视频一区二区 | 一区二区三区免费观看视频 | 国产高潮流白浆喷水视频 | 一级黄色小视频 | 色视av | 在线波多野结衣 | 久久精品久久精品久久精品 | 91嫩草视频在线观看 | 免费毛片在线播放免费 | 成人午夜激情视频 | 免费黄色网址在线 | 西西人体高清44rt·net | 国产免费又粗又猛又爽 | 在线观看免费视频一区二区 | 无码国内精品人妻少妇蜜桃视频 | 欧美8888| 日本理论片| 久久久久香蕉 | 国产真实自拍 | 午夜宅男在线 | 色播视频在线观看 | 91一区二区三区在线观看 | 99ri在线 | 中文字幕 日本 | 欧美日b片 | 亚洲综合五区 | 天天爽天天操 | 激情av在线播放 | 久久亚洲网 | 国产热99 | 天天透天天操 | 免费在线观看毛片 | 亚洲欧洲久久 | 黄色操人视频 | 日狠狠 | 成人免费网站视频 | 男女啪动最猛动态图 | 91夫妻在线| 亚洲综合久久av一区二区三区 | 国产视频精品视频 | 欧性猛交ⅹxxx乱大交 | 台湾佬美性中文娱乐 | 欧美三级视频网站 | 成人午夜视频免费观看 | 久久8 | 亚洲一二三在线 | 亚洲黄色在线播放 | 国产精品久久久久久福利 | 日韩av一区二区在线播放 | 午夜一区不卡 | 性爱视频在线免费 | 亚洲一区二区三区欧美 | 欧美成人一区在线 | 国产xxxx18| 亚洲精品天堂在线 | 香港三日本8a三级少妇三级99 | 99精品99| 在线观看视频二区 | 国产精品二 | 日韩精品免费一区二区夜夜嗨 | 亚洲gay视频 | 中文字幕一区二区三区四区 | 国产精品无码av在线有声小说 | 中文字字幕| 日本美女毛片 | 午夜久久影院 |