QML コードから呼び出される C++ の関数があります。関数が である場合、void
または を返す場合、int
すべて問題ありません。ただし、 a を返し、QVariant
関数を呼び出すと、関数は実行されません。
C++ 関数
QVariant Wifi::scan(){
QVariantList varlist;
QVariant var;
qDebug("Inside function");
varlist.append("Test1");
varlist.append("Test2");
var = QVariant(varlist);
return var;
}
.h ファイル
include <QVariant>
class Wifi : public QObject
{
Q_OBJECT
public:
Wifi();
Q_INVOKABLE QVariant scan();
Q_INVOKABLE int checkIfConnected();
QStringList* getDevice();
};
QML ファイルでは、「Test」は印刷されますが、「Test2」は印刷されません。C++ 部分の「関数内」も出力されません。だから私はそれが動かなくなったか、wifi.scan()
部分的に何かを仮定しています
console.debug("Test")
var anArray = wifi.scan()
for (var i=0; i<anArray.length; i++)
console.log("Array item:", anArray[i])
console.debug("Test2")
どんな種類のエラーメッセージも表示されません。wifi.scan()
また、戻り値を「プロパティバリアント」に割り当てて、戻り値を何にも割り当てずに単独で実行しようとしました( )。何が問題になる可能性があるかについてのアイデアはありますか?