0

編集:解決しました。

こんにちは、私は 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()ヒットすることはありません。ここで何が問題なのですか?ありがとう!

4

1 に答える 1

6

Q_OBJECTクラス宣言を入れるのを忘れました。そのキーワードがなければmoc、クラスのメタオブジェクト情報を生成する必要があることを知りません。

于 2009-08-27T02:58:04.440 に答える