懵懂初学者,大神路过还请批评指正!
数据库: MYSQL
软件: QT5.4
数据: student表格一张,内含学号、姓名、选课号
话不多说直接上代码:
//tableView的点击槽函数,由设计师界面右键tableView、点击转到槽、点击cliked()选项生成
void tableVieShow::on_tableView_student_clicked(const QModelIndex &index)
{
QSqlTableModel *model = new QSqlTableModel;
model->setTable("student"); //指定要做模型的表
model->setHeaderData(0, Qt::Horizontal, "学号"); //设置第一列的字段名为学号
model->setHeaderData(1, Qt::Horizontal, "姓名");
model->setHeaderData(2, Qt::Horizontal, "选课号");
model->select();
ui->tableView_student->setModel (model); //关键步骤
QSqlRecord record=model->record(index.row()); //关键步骤
//01.记录被点击行的"name"列(与数据库这张表的列头名相同),到局部变量namestr中
QString namestr = record.value("name").toString();
//02.下同
QString sid = record.value("stuID").toString();
QString chooseCID= record.value("chooseClassID").toString();
//显示相应文本到lineEdit控件
ui->lineEdit_stuID->setText(sid);
ui->lineEdit_name->setText(namestr);
ui->lineEdit_chooseClassID->setText(chooseCID);
}
ps:记得补充相应头文件
控件图:

效果图:
点击前:

点击后:

好处:现在就可以直接编辑lineEdit的内容,进行“改”功能,省去手动输入。
本文分享了使用QT5.4和MySQL数据库实现tableView点击事件的详细代码,通过点击tableView中的行,可以自动填充lineEdit控件中的学生信息,包括学号、姓名和选课号,便于进行数据编辑。
4967





