QT定义槽函数获取QTableview的数据出现闪退

void market::tableclick()
{
int row =ui->tableView->currentIndex().row();
qDebug()<<row;
QModelIndex index1= model->index(row,0);
QString id =model->data(index1).toString();
ui->lineEdit->setText(id);
}

img

在做一个电子商城系统,C++语言,用的数据库是sql server,在定义槽函数之前都可以正常运行,定义槽函数以后,程序一关联到这个事件信号就闪退,求解,急急急急急!

修改如下:

int row =ui->tableView->currentIndex().row();
if(row <0) return;
QAbstractItemModel *model = ui->tableView->model();  
QModelIndex index1= model->index(row,0);
QString id =model->data(index1).toString();
ui->lineEdit->setText(id);

你最好对这些指针进行好好的有效性判断,确定ui,tableView,model,lineEdit都不为空,你这么调用太危险