无法发出QThread的信号

时间:2013-09-06 08:33:45

标签: c++ qt signals qthread

QT 5.1.0rc2,msvc 2010,Microsoft Visual Studio 2010

这是Qt 4.8.4,msvc 2008上的工作代码

我在

编译错误
#if defined( HANDLE_PROCESSING_IN_MAIN_THREAD )
    if(QThread::currentThread() != this)
        emit started();
#endif
    inherited::run();

#if defined( HANDLE_PROCESSING_IN_MAIN_THREAD )
    if(QThread::currentThread() != this)
      emit finished();
#endif
  

错误C2660:'QThread :: started':函数不带0个参数
  错误C2660:'QThread :: finished':函数不带0参数

在QThread中我见过

Q_SIGNALS:
    void started(
#if !defined(Q_QDOC)
      QPrivateSignal
#endif
    );
    void finished(
#if !defined(Q_QDOC)
      QPrivateSignal
#endif
    );

当我定义Q_QDOC时,我在QT源中遇到了很多错误。

QPrivateSignal是在宏Q_OBJECT中定义的空结构

需要一个不影响应用程序架构的解决方案,以便与Qt4.8.4向后兼容

一些想法?

0 个答案:

没有答案