Como conectar um slot para sinalizar QProcess :: iniciado () em Qt?

votos
0

Edit: Resolvido.

Oi, eu estou começando com Qt, eu tento ligar um slot para sinalizar QProcess::started()mas não pode. QObject::connect()retornos false.

Alguma idéia do que estou fazendo de errado?

Aqui está parte do código:


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
}

Eu sei que o processo é iniciado com êxito porque eu tentei process->WaitForStarted()e ele retorna true. Mas eu colocar um ponto de interrupção na ranhura foo::process_started()e nunca é atingido. Qual é o problema aqui? Obrigado!

Publicado 27/08/2009 em 03:45
fonte usuário
Em outras línguas...                            


1 respostas

votos
6

Você esqueceu de colocar Q_OBJECTna sua declaração de classe. Sem essa palavra-chave, mocnão sabe que ele precisa para gerar informações metaobjeto para sua classe.

Respondeu 27/08/2009 em 03:58
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more