对象::连接:没有这样的信号MyThread :: MySignal()

问题描述:

  1. 我的程序有一个线程类。
  2. 信号插槽都在该线程类本身。
  3. 头文件和源文件是分开的。
  4. main()函数在源文件本身中。

主(),我使用连接如下:对象::连接:没有这样的信号MyThread :: MySignal()

MyThread objA; 
Object :: connect (&objA, SIGNAL(MySignal()), &objA, SLOT(MySlot())); 

的.pro文件是:

###################################################################### 
# 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 

我运行期间看到上面的错误时间。请指导。

+0

你能证明你的MyThread的课吗? –

我已经找到了解决办法:
参数信号插槽功能是不匹配!一旦我修好它们,该槽就被召唤了。

感谢:http://samdutton.wordpress.com/2008/10/03/debugging-signals-and-slots-in-qt/

您需要定义MySignal()和MySlot()作为信号&插槽您的MyThread的类的头文件:

class MyThread 
{ 
public: 
    MyThread(); 
signals: 
    void MySignal(); 
public slots: 
    void MySlot(); 
} 
+0

Tim和@LwinHtooKo。感谢您的答复。我发现这是我的一个愚蠢的错误。这是一个参数不匹配。 –