Как подключить слот для сигнала QProcess :: start () в Qt? - PullRequest
0 голосов
/ 27 августа 2009

Редактировать: Решено.

Привет, я начинаю с 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 Ответ

6 голосов
/ 27 августа 2009

Вы забыли указать Q_OBJECT в объявлении класса. Без этого ключевого слова moc не знает, что ему нужно генерировать метаобъект для вашего класса.

...