数据库

 首页 > 数据库 > MySql > Qt中实时将Qtableview中的内容显示在相应的控件上

Qt中实时将Qtableview中的内容显示在相应的控件上

分享到:
【字体:
导读:
         摘要:学习Qt有一段时间了,几天做东西需要将Qtableview中的数据显示在相应的控件上,想看好久,终于搞定了,特意拿出来,和大家分享,也当做是自己的一个学习笔记。    首先我的Qtableview中的的内容是从数据库中查找出来再显示 出来的。下面是以个关于某个公司信息种类的数据。这是数据库...

Qt中实时将Qtableview中的内容显示在相应的控件上

        学习Qt有一段时间了,几天做东西需要将Qtableview中的数据显示在相应的控件上,想看好久,终于搞定了,特意拿出来,和大家分享,也当做是自己的一个学习笔记。

    首先我的Qtableview中的的内容是从数据库中查找出来再显示 出来的。下面是以个关于某个公司信息种类的数据。这是数据库中的记录

    效果是这样的:

   

点击上面的某行数据,下面的lineEdit中就会显示出来对应的数据。如下图所示

再点击第二条数据,也会显示出来。


效果很不错,完美的实现了,自己非常的高兴,将过程写出来,对于初学者而言,可以参考参考。高手请路过

首先,我想到是必须建立信号和槽的连接,只有这样才能实现实时的显示,到底需要哪个信号呢?既然是鼠标的单击,那肯定就是click信号了。

 connect(ui->Supplier_tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(ShowSupplyclick()));
将界面中的Qtableview的点击信号,和自己写的槽函数进行关联

下面是自己写的槽函数


/*
 *获取当前鼠标点击的数据表中的内容,并将其显示在相应的控件上
*/
void Basic_Data_Dialog::ShowSupplyclick()
{
    static QSqlQueryModel supplymodel(ui->Supplier_tableView);
    supplymodel.setQuery(QString("select * from Supply;"));
    int row = ui->Supplier_tableView->currentIndex().row();
    QSqlRecord record = supplymodel.record(row);
    ui->EditsupId->setText(record.value(0).toString());
    ui->EditSupName->setText(record.value(1).toString());
    ui->EditSupAdress->setText(record.value(2).toString());
    ui->EditSupPhon->setText(record.value(3).toString());
    ui->EditSupMail->setText(record.value(4).toString());
    ui->EditSupRemark->setText(record.value(5).toString());
}

    代码中写的很详细了,就不用过多的介绍了。上面的  record.value(0).toString() 就是对应数据表中的某个列的属性,必须和自己数据表中的列对应,否则显示的内容对应不上,这点一点要注意。

     其他对于数据库的操作很简单,就是实现相应的增加、删除、修改功能。

     只有自己真正的做出来某件事,才会发现其中的乐趣。


   三流的环境,做一流的人……

Qt中实时将Qtableview中的内容显示在相应的控件上
分享到:
SQL_wm_concat函数实验:实现字段合并
SQL_wm_concat函数实验:实现字段合并原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/41347109  wm_concat函数:字段合并函数 目标:根据某字段相同值,实现其它某字段合并  【实验】 使用实验scott用...
Sql分组合计小计查询
Sql分组合计小计查询效果如下: 用的表和字段: -table 实收水费:hx_t_received  --字段收费部门id:hx_fdepartmentid  1、收费部门名称:hx_fdepartmentname 应收水费信息ID:hx_freceivableid --收费类别:hx_ftype (水费(1):再分[开户(table) 供水类别:自来水(100000001)==水费,中水(100000002)==中水费],代理费(2)...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……