Object::connect: No such signal MyThread::MySignal()
-
26-10-2019 - |
题
- My program has one thread class.
- The signal and the slot both are in that thread class itself.
- The header file and the source file are separate.
- main () function is in the source file itself.
In main (), I am using connect as follows:
MyThread objA;
Object :: connect (&objA, SIGNAL(MySignal()), &objA, SLOT(MySlot()));
.pro file is:
######################################################################
# Automatically generated by qmake (2.01a) Thu Dec 1 13:05:43 2011
######################################################################
TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += qtWheel.h
SOURCES += qtWheel.cpp
I saw the above error during run time. Please guide.
解决方案
I have found the solution:
The parameters of signal and slot functions were mismatching! As soon as I fixed them, the slot got called.
Thanks to: http://samdutton.wordpress.com/2008/10/03/debugging-signals-and-slots-in-qt/
其他提示
You need to define the MySignal() and MySlot() as signal & slot in the header file of your MyThread class:
class MyThread
{
public:
MyThread();
signals:
void MySignal();
public slots:
void MySlot();
}
不隶属于 StackOverflow