[英]How to use static slot function in Qt?
I've this code snippet: 我有以下代码片段:
class Server{
public slot:
static void readMessage();
};
// somewhere in the main code...
connect(tcpsocket, &QTcpSocket::readyRead, Server::readMessage);
error: no matching function for call to 'QObject::connect(const Object*&, void (QIODevice:: &)(), const Object &, void (Server::*&)(), Qt::ConnectionType)' return connect(sender, signal, sender, slot, Qt::DirectConnection);
错误:没有匹配函数可用于调用'QObject :: connect(const Object *&,void(QIODevice :: &)(),const Object &,void(Server :: *&)(),Qt :: ConnectionType)'返回连接(发送者,信号,发送者,插槽,Qt :: DirectConnection);
I don't know how to deal with that. 我不知道该如何处理。
Try this: 尝试这个:
connect( tcpsocket, &QTcpSocket::readyRead, [](){ Server::readMessage(); });
Note: This will need C++11 compiler features. 注意:这将需要C ++ 11编译器功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.