Qt 我的自定义QML给出错误:“quot;无法分配给不存在的属性";
这是我的.h文件:Qt 我的自定义QML给出错误:“quot;无法分配给不存在的属性";,qt,plugins,qml,Qt,Plugins,Qml,这是我的.h文件: #ifndef FDR_TCPSOCKET_H #define FDR_TCPSOCKET_H #include <QObject> #include <QTcpSocket> class FDR_TCPSocket : public QObject{ Q_OBJECT public: QTcpSocket* _socket; FDR_TCPSocket(QObject* parent = Q_NULLPTR){
#ifndef FDR_TCPSOCKET_H
#define FDR_TCPSOCKET_H
#include <QObject>
#include <QTcpSocket>
class FDR_TCPSocket : public QObject{
Q_OBJECT
public:
QTcpSocket* _socket;
FDR_TCPSocket(QObject* parent = Q_NULLPTR){
// Create the socket object.
_socket = new QTcpSocket(parent);
// Add events to the socket.
addEvents();
}
void addEvents(){
_socket->connect(_socket, &QTcpSocket::connected, [=]{
emit Connected();
});
}
signals:
void Connected();
public slots:
// ...
};
#endif // FDR_TCPSOCKET_H
\ifndef FDR\TCPSOCKET\H
#定义FDR\u TCPSOCKET\u H
#包括
#包括
类FDR\u TCPSocket:公共QObject{
Q_对象
公众:
QTcpSocket*_插座;
FDR_TCPSocket(QObject*parent=Q_NULLPTR){
//创建套接字对象。
_套接字=新的QTcpSocket(父级);
//将事件添加到套接字。
addEvents();
}
void addEvents(){
_socket->connect(_socket,&qtcsocket::connected,[=]{
发射连接();
});
}
信号:
空连接();
公众时段:
// ...
};
#endif//FDR\u TCPSOCKET\u H
这是我的QML:
import com.fedartech.qmlsockets 1.0
...
FDR_TCPSocket{
onConnected: { ... } <<<========== GIVES ERROR
}
import com.fedartech.qmlsockets 1.0
...
FDR_TCPSocket{
连接:{…}哦,我的天哪……简单的回答
我将Connected()
信号更改为Connected()
(第一个字母小写)
现在它工作了
qmlRegisterType<FDR_TCPSocket>("com.fedartech.qmlsockets", 1, 0, "FDR_TCPSocket");