hi,
im having a problem sending a vector trough signal-slot connection.
here is my code:

Qt Code:
  1. class frmMain : public QMainWindow
  2. {
  3. Q_OBJECT
  4.  
  5. public:
  6. frmMain(QWidget *parent = 0, Qt::WFlags flags = 0);
  7. ~frmMain();
  8.  
  9. sphThread* SPHthread;
  10.  
  11. public slots:
  12. void startSimulation(void);
  13. void addLog(QString _LogText);
  14. void drawPlot(CPlotPoint* _Point);
  15. void drawPlots(QVector<CPlotPoint*> _Point);
  16.  
  17.  
  18. private:
  19. Ui::frmMainClass ui;
  20. };
To copy to clipboard, switch view to plain text mode 
Qt Code:
  1. void frmMain::startSimulation(void)
  2. {
  3. SPHthread=new sphThread(this);
  4. connect(
  5. SPHthread,
  6. SIGNAL(refreshLog(QString)),
  7. this,
  8. SLOT(addLog(QString)));
  9. connect(
  10. SPHthread,
  11. SIGNAL(refreshPlot(CPlotPoint*)),
  12. this,
  13. SLOT(drawPlot(CPlotPoint*)));
  14. connect(
  15. SPHthread,
  16. SIGNAL(refreshPlots(QVector<CPlotPoint*>)),
  17. this,
  18. SLOT(drawPlots(QVector<CPlotPoint*>)));
  19. SPHthread->start();
  20. }
To copy to clipboard, switch view to plain text mode 
Qt Code:
  1. class sphThread : public QThread
  2. {
  3. Q_OBJECT
  4.  
  5. public:
  6. sphThread(QObject *parent);
  7. ~sphThread();
  8.  
  9. void run();
  10.  
  11. signals:
  12. void refreshLog(QString _LogText);
  13. void refreshPlot(CPlotPoint* _Point);
  14. void refreshPlots(QVector<CPlotPoint*> _Point);
  15. };
To copy to clipboard, switch view to plain text mode 
Qt Code:
  1. void sphThread::run(void)
  2. {
  3. CPlotPoint* _Point=new CPlotPoint;
  4. QVector<CPlotPoint*> _VectorPoints;
  5. for (qint32 i=0;i<100;i++)
  6. {
  7. for (qint32 j=0;j<10;j++)
  8. {
  9. emit refreshPlot(_Point);
  10. emit refreshPlots(_VectorPoints);
  11. emit refreshLog("*");
  12. }
  13. QThread::sleep(1);
  14. }
  15. }
To copy to clipboard, switch view to plain text mode 

for testing i append different characters to text log:
Qt Code:
  1. void frmMain::addLog(QString _LogText)
  2. {
  3. ui.txtLog->setPlainText(ui.txtLog->toPlainText()+"*");
  4. }
  5. void frmMain::drawPlot(CPlotPoint* _Point)
  6. {
  7. ui.txtLog->setPlainText(ui.txtLog->toPlainText()+"+");
  8. }
  9. void frmMain::drawPlots(QVector<CPlotPoint*> _Point)
  10. {
  11. ui.txtLog->setPlainText(ui.txtLog->toPlainText()+"-");
  12. }
To copy to clipboard, switch view to plain text mode 
but result is:
Qt Code:
  1. +*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+..
To copy to clipboard, switch view to plain text mode 

so refreshPlots(QVector<CPlotPoint*> _Point); but signal drawPlots(QVector<CPlotPoint*> _Points) is never executed. Any idea? maybe the problem is something about QVector and signals?