C++与QML交互基础

来源:互联网 发布:面试 职业规划 知乎 编辑:程序博客网 时间:2024/05/18 02:32
#include <QApplication>#include<QQuickView>#include<QQuickWidget>#include<QUrl>#include<QQmlContext>#include<QColor>#include<QQuickItem>#include<QWidget>#include<QQmlContext>int main(int argc, char *argv[]){    QApplication a(argc, argv);    QWidget qwidget ;    qwidget.setWindowTitle("qwidget");    qwidget.show() ;    QQuickView view ;    view.setTitle("view");    view.resize(500,500);    QQmlContext * rootcContext = view.rootContext() ;    rootcContext->setContextProperty("qWidget",&qwidget);    view.setSource(QUrl("qrc:/main.qml"));    QObject * rootObject = view.rootObject() ;    if(rootObject)        rootObject->setProperty("color",QColor(123,125,127));    QObject * children = rootObject->findChild<QObject *>("aRectangle");    children->setProperty("color",QColor(23,25,27));    view.show();    QQuickWidget widget;    widget.setWindowTitle("widget");    widget.resize(500,500);    rootcContext = widget.rootContext() ;    rootcContext->setContextProperty("qWidget",&qwidget);    widget.setSource(QUrl("qrc:/main.qml"));    rootObject = widget.rootObject() ;    if(rootObject)       rootObject->setProperty("color",QColor(223,225,207));    children = rootObject->findChild<QObject *>("aRectangle");    children->setProperty("color",QColor(23,25,27));    widget.show();    return a.exec();}

import QtQuick 2.0Rectangle {    id:root    width: 500    height: 500    color: "#63cca6"    Rectangle{     width: 100     height: 50     color: "#bb1c1c"     objectName: "aRectangle"    }    Component.onCompleted: {     console.log( qWidget.windowTitle );    }}

0 0
原创粉丝点击