QML新手在使用QML前端连接C ++后端时需要一些帮助

时间:2012-02-03 21:58:28

标签: c++ qt qml qt-quick

我在C ++中使用代码来保存和检索XML文件中的数据。我有一些用QML构建的表单我希望以这样的方式连接:当我在QML中输入数据时,处理在C ++中处理,并且通过QML表单对产品进行搜索,在C ++中处理并且产品列表物品被交回QML进行展示。

class ProcessRequests : public QObject
{
    Q_OBJECT
    Q_PROPERTY(string username READ username WRITE username)
    Q_PROPERTY(string useremail READ useremail WRITE useremail)
    Q_PROPERTY(string usercomplaint READ usercomplaint WRITE usercomplaint)


    public:

    ProcessRequests()
    {}
    ~ProcessRequests(){}

    Q_INVOKABLE void SubmitComplaint(){
     //TODO: Add Xml code to save the property values to file 

    }

};

2 个答案:

答案 0 :(得分:2)

主题相当大,你最好看看文档,它们很清楚,也应该有一些教程。这是一个很好的起点:QML bindings in C++

答案 1 :(得分:2)

我认为您的问题是在QML和C ++代码之间进行相互通信,您可以使用以下代码来实现:

//Product.cpp
QmlApplicationViewer viewer;

QDeclarativeEngine *engine = viewer.engine();
QDeclarativeContext *context = engine->rootContext();

context->setContextProperty("Product", this);

//Your QML File
Product.YourFunction(args);