2012-05-07 9 views
0

は、なぜ私はこのQtのは、そのようなスロット

Object::connect: No such slot Ide::on_action_Exit_triggered(index) 
Object::connect: (sender name: 'actionClose_Project') 
Object::connect: (receiver name: 'Ide') 

入手できます。

+0

パラメータの名前ではなく、そのタイプを使用します。 –

+0

どこから値を取得するのですか? – yonutix

+1

正しい署名はSLOT(on_action_Exit_triggered(index))ではなく、 'SLOT(on_action_Exit_triggered(int))'です。 –

答えて

4

次のように関数のプロトタイプを挿入してください:あなたが使用

connect(this->ui->actionClose_Project, SIGNAL(triggered()), this, SLOT(on_action_Exit_triggered(int))); 

このフォーマットは、スロットを使用するのが一般的ではありません。信号とスロットは同じパラメータでなければなりません。

+4

これは間違いありませんが、私はそれが動作するとは思わない。信号には、少なくとも接続先のスロットと同じ数のパラメータが必要です。 – Mat

+1

@Mat:私はあなたがそれらのパラメータがスロット宣言でデフォルト値を持っている場合、より多くのパラメータを持つスロットに接続できると思います。 – Fred

+0

http://doc.qt.nokia.com/4.7-snapshot/signalsandslots.html#signals-and-slots-with-default-arguments - いいえ、上記のように動作しません。 – Mat

関連する問題