Object :: connect:没有这样的信号MyThread :: MySignal()

时间:2011-12-01 07:41:53

标签: qt signals-slots qthread

  1. 我的程序有一个线程类。
  2. 信号广告位都在该线程类本身中。
  3. 头文件和源文件是分开的。
  4. main()功能位于源文件本身。
  5. main()中,我使用 connect ,如下所示:

    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
    

    我在运行时看到了上述错误。请指导。

2 个答案:

答案 0 :(得分:3)

我找到了解决方案:
信号广告位功能的参数 不匹配!一旦我修好它们,就会调用插槽。

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

答案 1 :(得分:0)

您需要将MySignal()和MySlot()定义为信号和放大器。 MyThread类的头文件中的插槽:

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