这是我的.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){
// 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
这是我的QML:
import com.fedartech.qmlsockets 1.0
...
FDR_TCPSocket{
onConnected: { ... } <<<========== GIVES ERROR
}
但是它给出了这个错误:
无法分配给不存在的属性“ onConnected”
(顺便说一句,这里是寄存器:)
qmlRegisterType<FDR_TCPSocket>("com.fedartech.qmlsockets", 1, 0, "FDR_TCPSocket");
为什么会这样?我真的不知道。
感谢您的帮助!
答案 0 :(得分:0)
我的天哪...简单的答案。
我将Connected()
信号更改为connected()
。 (首字母小写)
现在可以了...