title: 'QObject' is an ambiguous base of 'Recorder'
body: <p>I'm trying to use QTimer, which inherits QObject, in my newly created class. However I try it I keep getting the error  <em>'QObject' is an ambiguous base of 'Recorder'</em> . I did try my best to avoid ambiguity in my simple program but still got stuck with it.
  Here's the structure of my classes.</p>
  
  <pre><code>#include "dialog.h"
  #include &lt;QApplication&gt;
  
  int main(int argc, char *argv[])
  {
      QApplication a(argc, argv);
      Dialog w;    
      w.show();
  
      return a.exec();
  }
  </code></pre>
  
  <p>dialog.h: mainwindow UI</p>
  
  <pre><code>#ifndef DIALOG_H
  #define DIALOG_H
  
  #include "detector.h"
  #include &lt;QDialog&gt;
  #include &lt;QtCore&gt;
  
  namespace Ui {
  class Dialog;
  }
  
  class Dialog : public QDialog
  {
      Q_OBJECT
  
  public:
      explicit Dialog(QWidget *parent = 0);
      ~Dialog();
  
  private:
      Ui::Dialog *ui;
      Detector myDetector;
  </code></pre>
  
  <p>detector.h: detector window UI</p>
  
  <pre><code>#ifndef DETECTOR_H
  #define DETECTOR_H
  
  #include &lt;QDialog&gt;
  #include &lt;QtCore&gt;
  #include &lt;QObject&gt;
  #include "actualrec.h"
  
  namespace Ui {
  class Detector;
  }
  
  class Detector : public QDialog
  {
      Q_OBJECT
  
  public:
      explicit Detector(QWidget *parent = 0);
      ~Detector();
      void run();
  
  private:
      ActualRec theDetector;
      Ui::Detector *ui;
  </code></pre>
  
  <p>actualrec.h: detector code</p>
  
  <pre><code>#ifndef ACTUALREC_H
  #define ACTUALREC_H
  
  #include &lt;QtCore&gt;
  #include &lt;QObject&gt;    
  #include &lt;QImage&gt;
  #include "recorder.h"
  
  class ActualRec : public QThread
  {
  public:
      ActualRec();
      void run();
  
  private:        
      Recorder theRecorder;
  </code></pre>
  
  <p>recorder.h: recorder code, where I want to use my QTimer</p>
  
  <pre><code>#ifndef RECORDER_H
  #define RECORDER_H
  
  #include &lt;QtCore&gt;
  
  class Recorder : public QThread, public QObject
  {
  
  public:
      Recorder();
      void run();
  
  private:
      QTimer* theTimer;
  </code></pre>
  
  <p>recorder.cpp constructor has</p>
  
  <pre><code> *theTimer = new QTimer(this);
  </code></pre>
  
  <p>the output is following:
  <a href="http://i.imgur.com/Awb6qhd.png" rel="nofollow">http://i.imgur.com/Awb6qhd.png</a></p>
  
  <p>Any help would be much appreciated</p>