小编ser*_*ico的帖子

使用上下文属性将 C++ 对象嵌入到 QML 中

根据 Qt5 文档:公开包括 qt 插槽在内的方法,所有从 QObject 继承的 C++ 类的公共插槽都可以从 QML 访问这里我做了什么:

C++

class MyClass : public QObject
{
    Q_OBJECT

public slots:
    void doStuffFromQmlSlot()
    {
        qDebug() << Q_FUNC_INFO;
    }

public:
    MyClass()
    {
        qDebug() << Q_FUNC_INFO;
    }
};
Run Code Online (Sandbox Code Playgroud)

我的main.cpp包含:

MyClass myClass;
QQmlEngine engine;
engine.rootContext()->setContextProperty( "myclass", &myClass );
QQmlComponent component( &engine, QUrl::fromLocalFile("qml/qtquick-01/main.qml") );
component.create();
Run Code Online (Sandbox Code Playgroud)

质量管理语言

import QtQuick 2.0

Rectangle {
    width: 360
    height: 360
    Text {
        text: qsTr("Hello World")
        anchors.centerIn: parent
    }
    MouseArea {
        anchors.fill: parent
        onClicked: {
            myclass.doStuffFromQmlSlot(); …
Run Code Online (Sandbox Code Playgroud)

c++ qml qt5 ubuntu-touch

5
推荐指数
1
解决办法
5133
查看次数

标签 统计

c++ ×1

qml ×1

qt5 ×1

ubuntu-touch ×1