QT:鼠标点击tableView控件表格的某行,获得其内容并显示在相应lineEdit控件上

懵懂初学者,大神路过还请批评指正!

数据库: 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的内容,进行“改”功能,省去手动输入。

猜你喜欢

转载自blog.csdn.net/THRoot/article/details/102895388
今日推荐