title: QTimer can only be used with threads started with QThread
body: <p>So I have an interesting problem....a program I am (trying) to write is crashing with this error:</p>
  
  <pre><code>QObject::startTimer: QTimer can only be used with threads started with QThread 
  </code></pre>
  
  <p>The thing that baffles me is my program is single threaded.  The goal of the class in question is to send POST data to a php page I have on my server.  As soon as it tries to send the POST, I get that message.  Here is my code.</p>
  
  <pre><code>#ifndef TRANSMISSIONS_H
  #define TRANSMISSIONS_H
  #include "name_spawn.h"
  #include &lt;QNetworkReply&gt;
  #include &lt;QObject&gt;
  #include &lt;QNetworkConfigurationManager&gt;
  
  class Transmissions : public QObject
  {
      Q_OBJECT
  public:
      Transmissions();
      void Send(GeneratedData);
  public slots:
      void serviceRequestFinished(QNetworkReply*);
  signals:
      void configurationAdded(const QNetworkConfiguration);
      void configurationChanged(const QNetworkConfiguration);
      void configurationRemoved(const QNetworkConfiguration);
      void onlineStateChanged(bool);
      void updateCompleted();
  };
  
  #endif // TRANSMISSIONS_H
  </code></pre>
  
  <p>And </p>
  
  <pre><code>#include "transmissions.h"
  #include "name_spawn.h"
  #include &lt;QHttp&gt;
  #include &lt;QUrl&gt;
  #include &lt;QString&gt;
  #include &lt;QNetworkReply&gt;
  #include &lt;QNetworkRequest&gt;
  #include &lt;iostream&gt;
  #include &lt;QNetworkAccessManager&gt;
  #include &lt;QNetworkConfigurationManager&gt;
  #include &lt;QObject&gt;
  
  using namespace std;
  
  Transmissions::Transmissions()
  {
  }
  
  void Transmissions::Send(GeneratedData User)
  {
      cerr&lt;&lt;"transmitting"&lt;&lt;endl;
      QUrl serviceUrl = QUrl("http://192.168.1.138/postTest.php");
      QByteArray postData;
      QString username="user="+User.Email()+"&amp;";
      QString Passwd="password="+User.pass();
      postData.append(username);
      postData.append(Passwd);
  
      QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
      connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(serviceRequestFinished(QNetworkReply*)));
      networkManager-&gt;post(QNetworkRequest(serviceUrl), postData);
  }
  
  void Transmissions::serviceRequestFinished(QNetworkReply *reply)
  {
      //this will do other things once post is working
      QString data = reply-&gt;readAll();
      cerr &lt;&lt;"Data is "&lt;&lt; data.toStdString()&lt;&lt;endl;
  
  }
  </code></pre>
  
  <p>I think what I am trying to do is fairly simple, but it is frustrating me to no end trying to get it to work.  I didn't see anything in the documentation about QNetworkAccessManager  requiring threads.  I admit I don't know Qt that well, so any help (or links to complete POST examples) would be very appreciated.  </p>