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

本文分享了使用QT5.4和MySQL数据库实现tableView点击事件的详细代码,通过点击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的内容,进行“改”功能,省去手动输入。

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值