QWidget: "Widgets must be created in the GUI
===

I am using `boost::thread` with Qt. and I am not creating any Widget from non-gui thread. This is My code. 


    int main(int argc, char *argv[]){
        QApplication a(argc, argv);
    
        MainWindow w;
        w.show();
    
    
        Monitor  monitor;
        Producer producer(&monitor);
        Matrix   matrix;
        Consumer consumer(&monitor, &matrix);
        boost::thread_group thread_group;
        boost::thread& producer_thread = producer.start();
        //boost::thread& consumer_thread = consumer.start();
        //thread_group.add_thread(&producer_thread);
        //thread_group.add_thread(&consumer_thread);
        //thread_group.join_all();
    
        return a.exec();
    }

`producer.start()` and `consumer.start()` creates new thread. I get runtime Assert Failure 

    ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel\qwidget.cpp, line 1299

but start() never calls any gui widget. rather I'vent developed the any GUI yet.