• 4712阅读
  • 4回复

qt 3.3    这个错误该怎么解决呢 高人指点指点啊????? [复制链接]

上一主题 下一主题
离线zhanglele
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-27
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
我在线程类里 定义了信号 想把线程中的字符串 显示到界面上:
class Thread: public QThread
{
  .......
.  .......
  signals:
    void traceLog(const QString str);
}

void Thread::traceLog(const QString str)
{
  messageStr =str;
}

void Thread:: run()
{
  ....
  ......
  emit traceLog(temp);
  .......
}

界面线程里是这样的:
dialog.cpp 文件中:
{
    .......
    connect(&Thread, SIGNAL (traceLog(const QString)),this, SLOT(getTraceLog(const QString)));
    ...........
}

在dialog.h中定义:
{
  ...............
      virtual void getTraceLog(const QString);
  .........
}

在 dialog.ui.h中
定义的:
void dialog :: getTraceLog(const QString)
{
    recvEdit->append(messageStr);
}

connect 那行有错误: expected primary-expression before ','token

小弟第一次在线程里 用 信号 槽 不知道这种布局 对不对 以上错误是不是 由于写法不对 而产生的
请高人指点下哈
离线liyunsheng
只看该作者 1楼 发表于: 2008-11-29
有没有加上SLOTS:啊?
离线zhanglele
只看该作者 2楼 发表于: 2008-12-01
加了的
离线guxingke
只看该作者 3楼 发表于: 2008-12-03
qt4以前QThread不是派生自QObject,所以不支持信号和槽的机制!要想从线程向界面发送消息,可以选用QCustomEvent类,具体实现可以参考qt自带的例子!qt4时可以支持的,推荐升级到Qt4
离线zhanglele
只看该作者 4楼 发表于: 2008-12-03
哦 谢谢兄弟哈
快速回复
限100 字节
 
上一个 下一个