Qt将SqLite数据库中表格转换成QTreeWidget形式并显示


前言

Qt将SqLite数据库中表格转换成QTreeWidget形式并显示


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备好数据库表格(怎样操作数据库本博主其他文章中有介绍)

示例:
在这里插入图片描述
转为QTreeWidget形式如下:
在这里插入图片描述

二、具体操作

1.头文件.h中添加私有槽函数

代码如下(示例):

private slots:
    void departTree(QString root, QTreeWidgetItem *item);
    void departTree(QString root,QTreeWidget *tree);

2.源文件.cpp中实现定义

代码如下(示例):

//树结构
void M_homepage::departTree(QString root, QTreeWidgetItem *item)
{
    QSqlQuery query;
    query.exec("select 名称,编号 from program_info where 上级项目编号='"+root+"'");        //设置查询条件

    while (query.next())
    {
        QString NAME = query.value(0).toString(); //获取项目名称
        QString NUMBER = query.value(1).toString();   //获取项目编号
        QTreeWidgetItem *items =
                new QTreeWidgetItem(item,QStringList(QString(NAME)));
        /*创建新的ITEM,插入到ITEM中,设置编号为当前查询到的项目编号*/
        if(!NAME.isEmpty())
        {
            departTree(NUMBER,items);   //递归,若传入查询到的部门,判断是否还有下级
        }
    }
    return;
}

//树结构
void M_homepage::departTree(QString root, QTreeWidget *tree)
{
    QSqlQuery query;
    query.exec("select 名称,编号 from program_info where 上级项目编号='"+root+"'");
    while (query.next())
    {
        QString NAME = query.value(0).toString();
        QString NUMBER = query.value(1).toString();
        QTreeWidgetItem *item =
                new QTreeWidgetItem(tree,QStringList(QString(NAME)));
        /*创建ITEM,由于是最高项目,插入对象为TreeWidget*/
        if(!NAME.isEmpty())
        {
            departTree(NUMBER,item);   //开启递归
        }
    }
    return;
}

3.调用

	ui->treeWidget->clear();
    departTree("",ui->treeWidget);

总结

以上就是今天要讲的内容,本文仅仅简单介绍了QTreeWidget控件的使用,而Qt creator提供了大量能使我们快速便捷地处理数据的函数和方法,对于qt中的其他操作问题,请各位大神移步博主其他文章或是关注博主等待后续发布。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值