2
4

2 に答える 2

1

公式のサンプルコードを調べると、次のようにする必要があります。

MyClass::MyClass() {
    QScriptValue self = engine.newFunction(foo, 0);
    ....
}

編集:わかりました、私はもう少しリファレンスを調べました。問題は、関数が必要な場所でメソッドを渡そうとすることです。@ mosgが指摘したように、これは不可能です。静的関数を作成fooするか、参照されているスレッドでソリューションを試します。これは、をQObject介して新しいを作成することを意味しますengine.newQObject

于 2010-05-29T16:46:34.453 に答える
0

ソリューションの静的メソッド:

class MyClass {
public:
    static QScriptValue foo(QScriptContext*, QScriptEngine*);
    MyClass();
};

...

QScriptValue func = engine.newFunction(MyClass::foo)  
于 2014-12-16T11:03:57.500 に答える