在js中使用qt activex属性值始终返回空值

在js中使用qt activex属性值始终返回空值,qt,activex,Qt,Activex,我正在构建一个qt axserver dll,其qt属性如下: class testDll : public QObject , public QAxBindable { Q_OBJECT Q_CLASSINFO("ClassID", "{}") Q_CLASSINFO("InterfaceID", "{}") Q_CLASSINFO("EventsID", &q

我正在构建一个qt axserver dll,其qt属性如下:

class testDll : public QObject , public QAxBindable
{
    Q_OBJECT

    Q_CLASSINFO("ClassID", "{}")
    Q_CLASSINFO("InterfaceID", "{}")
    Q_CLASSINFO("EventsID", "{}")

    Q_PROPERTY(QString name MEMBER m_name READ getName WRITE setName)

public:
    testDll(QObject *parent = 0);
    QString getName() const;

public slots:
    void setName(QString v);

signals:
    void nameChanged(QString v);

private:
    QString m_name;
};
当我在为测试而构建的axcontainer中使用此dll时,可以获得如下属性值
QString res=container->dynamicCall(“name”).toString(),但是当我在IE中使用这个属性时,像这样
var name=testDll.name;console.log(名称),它总是返回空

我尝试了
Q\u属性(int number成员m\u number READ getNumber WRITE setNumber)
,可以使用以下两种方法在IE中获取属性值:

        var dll = document.getElementById("testDll");
        var num1 = dll.number;
        console.log(num1);
        var num2 = testDll.number;
        console.log(num2);

我是activex新手,找不到关于qt activex开发的好教程。有人能帮忙吗?

我终于解决了这个问题。它实际上有点愚蠢:
name
不能用作Q_属性名。在我更改属性名称后,它就可以工作了