Qtablewidget вызывает ошибку сегментации

Я использую QtableWidget для заполнения данных, собранных из сообщений ROS:

ui->stat->setColumnCount(3);
    //ui->stat->setRowCount(5);
    count_row=0;// keep track of table rows
    ui->stat->setColumnWidth(0,145);
    ui->stat->setColumnWidth(1,50);
    ui->stat->setColumnWidth(2,300);
QStringlist labels;
    labels.push_back(" Time");
    labels.push_back("Type");
    labels.push_back("Message ");
    ui->stat->setHorizontalHeaderLabels(labels);
QTableWidgetItem* text = new QTableWidgetItem();
       QTableWidgetItem* msgType = new QTableWidgetItem();
       QTableWidgetItem* time = new QTableWidgetItem();
count_row=count_row%5;
ui->stat->setItem(count_row,0,time);
      ui->stat->setItem(count_row,1,msgType);
      ui->stat->setItem(count_row,2,text);
      count_row++;
      for(int i=4;i>=0;i--)
           ui->stat->showRow(i);

При запуске программы я получаю ошибку сегментации


person user2135552    schedule 18.09.2013    source источник
comment
Я не могу воспроизвести сбой. Возможна ли обратная трассировка?   -  person vahancho    schedule 18.09.2013


Ответы (1)


чтобы использовать setItem(row, col, text), вам нужно установить количество строк (эта строка: //ui->stat->setRowCount(5);) или, если вы не знаете, сколько строк у вас будет, вы можете использовать insertRow(count_row) и после этого установить элементы для этой строки.

person Aleksandar    schedule 30.09.2013