1

XML ファイルからデータを保存および取得するための C++ のコードがあります。データが QML に入力されると、処理が C++ で処理され、QML フォームを介して製品の検索が行われ、C++ で処理され、製品のリストが作成されるように、QML に組み込まれたフォームがいくつかあります。アイテムは表示のために 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 

    }

};
4

2 に答える 2

2

トピックはかなり大きいので、ドキュメントを確認することをお勧めします。ドキュメントは非常に明確であり、チュートリアルも必要です。これは良い出発点です:C++でのQMLバインディング

于 2012-02-03T22:35:56.437 に答える
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);
于 2012-02-03T22:41:20.190 に答える