title: No matching signal for On_actionCapture_triggered
body: <p>I am trying to show on screen live feed from a camera that will show detected faces. However I keep getting:</p>
  
  <pre><code>QMetaObject::connectSlotsByName: No matching signal for On_actionCapture_triggered()
  </code></pre>
  
  <p>I have coded this with out using the GUI to link any slots or signals. I don't understand where the issues lies. </p>
  
  <p>The program runs and then error displays in the Application output box.</p>
  
  <p>Any insight as to where the issue is would be appreciated.  </p>
  
  <p>The .h file is </p>
  
  <pre><code>#ifndef DIALOG_H
  #define DIALOG_H
  
  #include &lt;QDialog&gt;
  #include &lt;opencv/cv.h&gt;
  #include &lt;opencv/highgui.h&gt;
  
  
  namespace Ui {
  class Dialog;
  }
  
  class Dialog : public QDialog
  {
      Q_OBJECT
  
  public:
      explicit Dialog(QWidget *parent = 0);
      ~Dialog();
  
  private slots:
      void on_actionCapture_triggered();
  
  private:
      Ui::Dialog* _ui;
      CvCapture*      _capture;
      IplImage*       _img;
      CvHaarClassifierCascade* _cascade;
      CvMemStorage*   _storage;
      QList&lt;CvScalar&gt;  _colors;
      QPixmap*         _pixmap;
      QTimer*          _timer;
  
  };
  </code></pre>
  
  <p>The cpp file is:</p>
  
  <pre><code>#endif // DIALOG_H
  
  #include "dialog.h"
  #include "ui_dialog.h"
  #include "opencv/cv.h"
  #include "opencv/highgui.h"
  #include "opencv/cvaux.h"
  
  #include &lt;QTimer&gt;
  
  
  Dialog::Dialog(QWidget *parent) :
  QDialog(parent),
  _ui(new Ui::Dialog)
  {
      _ui-&gt;setupUi(this);
      _capture = cvCaptureFromCAM( 0 );
      _cascade = (CvHaarClassifierCascade*)cvLoad("haarcascade_frontalface_alt2.xml");
      _storage = cvCreateMemStorage(0);
  
      _colors &lt;&lt; cvScalar(0.0,0.0,255.0) &lt;&lt; cvScalar(0.0,128.0,255.0)
              &lt;&lt; cvScalar(0.0,255.0,255.0) &lt;&lt; cvScalar(0.0,255.0,0.0)
              &lt;&lt; cvScalar(255.0,128.0,0.0) &lt;&lt; cvScalar(255.0,255.0,0.0)
              &lt;&lt; cvScalar(255.0,0.0,0.0) &lt;&lt; cvScalar(255.0,0.0,255.0);
  
      _timer = new QTimer(this);
      connect(_timer, SIGNAL(timeout()), this, SLOT(on_actionCapture_triggered()));
      _timer-&gt;start(10);
  }
  
  Dialog::~Dialog()
  {
      cvReleaseImage(&amp;_img);
      cvReleaseCapture(&amp;_capture);
      delete _ui;
  }
  
  void Dialog::on_actionCapture_triggered()
  {
      // Query camera for next frame
      _img = cvQueryFrame( _capture );
  
      if (_img)
      {
          // Detect objects
          cvClearMemStorage( _storage );
  
          CvSeq* objects = cvHaarDetectObjects(_img,
                                           _cascade,
                                           _storage,
                                           1.1,
                                           3,
                                           CV_HAAR_DO_CANNY_PRUNING,
                                           cvSize( 100, 100 ));
  
          int n = (objects ? objects-&gt;total : 0);
  
          CvRect* r;
          // Loop through objects and draw boxes
          for( int i = 0; i &lt; n; i++ )
          {
              r = ( CvRect* )cvGetSeqElem( objects, i );
              cvRectangle( _img,
                           cvPoint( r-&gt;x, r-&gt;y ),
                           cvPoint( r-&gt;x + r-&gt;width, r-&gt;y + r-&gt;height ),
                           _colors[i%8]
                          );
          }
  
          // Convert IplImage to QImage
          QImage image = QImage((const uchar *)_img-&gt;imageData,
                                _img-&gt;width,
                                _img-&gt;height,
                                QImage::Format_RGB888).rgbSwapped();
          _pixmap = new QPixmap(QPixmap::fromImage(image));
          _ui-&gt;labelCapture-&gt;setPixmap(*_pixmap);
      }
  }
  </code></pre>