查询数据库数据放入tableview(tableView_database)后
QSqlQueryModel* sql_model = new QSqlQueryModel(this);
sql_model->setQuery("select * from dxxxb_move_lot_tab");
sql_model->setHeaderData(0, Qt::Horizontal, tr("id"));
sql_model->setHeaderData(1, Qt::Horizontal, tr("名字"));
sql_model->setHeaderData(2, Qt::Horizontal, tr("年龄"));
sqlerror = query.lastError();
// if (!res) {
// qDebug() << "添加失败11111" << sqlerror.text();
// }
// else
{
// qDebug() << "添加成功1111";
}
ui.tableView_database->setModel(sql_model);
关联tableview点击事件:
获取行和列
在sql_model里面通过行列查询到点击的值,放入lineEdit编辑框里面
connect(ui.tableView_database, &QTableView::clicked, this, [=] {
int x = ui.tableView_database->currentIndex().row();
int y = ui.tableView_database->currentIndex().column();
//QString str = ui.tableView_database->item(x, y)->text();//取出字符串
if (sql_model->rowCount() > 0)
{
QString selected_text = (sql_model->data(sql_model->index(x, y))).toString();
ui.lineEdit_lot_number->setText(selected_text);
}
});