简体   繁体   English

如何在Qt中使用静态插槽功能?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM