如何连接槽以在Qt中发信号通知QProcess :: started()?

时间:2009-08-27 02:45:46

标签: qt qt4 signals signals-slots

编辑:已解决。

嗨,我从Qt开始,我尝试连接一个插槽来发信号QProcess::started(),但不能。 QObject::connect()会返回false

知道我做错了什么吗?

以下是代码的一部分:


class foo : public QObject
{   
 public:
  QProcess *process;

 public slots:
  void process_started();
}

foo::foo()
{
 process = new QProcess();
 bool status = QObject::connect( process, SIGNAL( started() ), this, SLOT( process_started() ) );
 // status is false, meaning the slot and signal couldn't be connected
}

我知道该过程已成功启动,因为我尝试process->WaitForStarted()并返回true。 但是我在插槽foo::process_started()放了一个断点,它永远不会被击中。 这有什么问题? 谢谢!

1 个答案:

答案 0 :(得分:6)

您忘记将Q_OBJECT放入班级声明中。如果没有该关键字,moc就不知道需要为您的班级生成元对象信息。