在js中使用qt activex属性值始终返回空值
我正在构建一个qt axserver dll,其qt属性如下:在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
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_属性名。在我更改属性名称后,它就可以工作了