您可以在JavaScript中使用Q_PROPERTY和QWebChannel访问自定义类型吗?
我已经使用QWebChannel向我的javascript应用程序公开了一个类,但是我似乎无法访问它的自定义类型属性,QString,int等也可以正常工作。
例如:
chart.ChartAreas["ChartArea1"].BackColor = Color.Black;
chart.ChartAreas["ChartArea1"].AxisX.MajorGrid.LineColor = Color.LawnGreen;
chart.ChartAreas["ChartArea1"].AxisY.MajorGrid.LineColor = Color.LawnGreen;
javascript类似于:
class MyData {
public:
MyData() = default;
MyData(const QJsonObject &json): a(json["a"].toString()), b["b"].toInt()) {}
QString a = "hello",
int b = 4
}
Q_DECLARE_METATYPE(MyData);
class MyService: public QObject {
Q_OBJECT
Q_PROPERTY(MyData myData READ getMyData WRITE setMyData);
}
在javascript中,读取值返回null,而写入只是默认值。
这可能吗?