定义ComSendCallToScreenThread继承自QThread:
class ComSendCallToScreenThread : public QThread
{
private slots:
void readAnswer();
void pauseSendingRequests();
};
void ComSendCallToScreenThread::run()
{
connect(m_senderCom, SIGNAL(readyRead()), this, SLOT(readAnswer()));
connect(m_senderCom, SIGNAL(readyRead()), this, SLOT(pauseSendingRequests()));
}
Run Code Online (Sandbox Code Playgroud)
在报告运行错误时:
Object::connect: No such slot QThread::readAnswer() in ComSendCallToScreenThread.cpp:47
Object::connect: No such slot QThread::pauseSendingRequests() in ComSendCallToScreenThread.cpp:48
Run Code Online (Sandbox Code Playgroud)
是什么导致连接失败?
将一个Q_OBJECT类定义之后:
class ComSendCallToScreenThread : public QThread
{
Q_OBJECT
Run Code Online (Sandbox Code Playgroud)
Qt4 文档:
包含信号或槽的所有类必须在其声明的顶部提及Q_OBJECT.它们还必须(直接或间接)从QObject派生.