Не получается добавить double число в QVector. В заголовочном файле записал данный вектор, в конструкторе этого класса пишу: MyVector->append(MyValue); Вместо продолжения работы пишет ошибку -1073741819. Объект класса - виджет, которые создается в конструкторе ГО:
MainWindow::MainWindow()
{
...
paintWidget = new PaintWidget(this);
paintWidget->setGeometry(0, 15, width(), height()-30);
paintWidget->setVisible(true);
...
connect(this, SIGNAL(Data(QVector<double>*,QVector<double>*)), paintWidget, SLOT(PaintData(QVector<double>*,QVector<double>*)));
...
}
PaintWidget::PaintWidget(QWidget *parent):QWidget(parent)
{
timer = new QTimer(this);
j=0;
X->append(0); //Тут пытаюсь добавить,а не получается...
Y->append(0);
connect(timer, SIGNAL(timeout()), this, SLOT(NewFrame()));
}
void PaintWidget::PaintData(QVector<double> *CoordX, QVector<double> *CoordY)
{
X->clear(); Y->clear();
for(i=0; i<CoordX->size(); i++)
{
X->append(CoordX->value(i));
Y->append(CoordY->value(i));
}
qDebug()<<CoordX->size()<<CoordY->size();
timer->start(42);
}
А где у тебя векторы создаются?
Ты используешь указатель на вектор, но не где не показал как его создаешь.
Спасибо, получилось.
Используй сигналы и слоты, работающие с const QVector&. Указатели тут ни к чему.
Кстати да. А operator<< aka append() для vector<T> в качестве аргумента есть.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)