QT利用QSqlTableModel快速制作sqlite数据库浏览器

QT版本:QT 5.14

一、核心代码

1.头文件代码

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QGridLayout>                  //布局控件
#include <QTableView>                   //表格控件
#include <QtSql/QSqlTableModel>         //表格model

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private:
    QGridLayout *hLayout=nullptr;       //布局控件
    QTableView *tableView=nullptr;      //表格控件
    QSqlTableModel *model=nullptr;      //表格model
};
#endif // WIDGET_H

2.实现代码

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");       //添加并获得一个SQLITE数据库连接
    model = new QSqlTableModel(this,db);                        //创建model对象并绑定数据库连接
    tableView = new QTableView(this);                           //创建表格控件对象
    hLayout = new QGridLayout(this);                            //创建栅格布局器对象

    setLayout(hLayout);                                         //把布局器设置到显示窗口
    hLayout->addWidget(tableView);                              //把表格控件添加到布局器中使表格能随窗口大小自动调整
    tableView->setModel(model);                                 //把model绑定到tableView
    model->database().setDatabaseName("./data.db");             //设置数据库名称(事先要把数据库文件放到debug目录下)
    if(model->database().open())                                //打开数据库
    {
        model->setTable("sumData");                             //设置数据表的名称(事先要知道数据表的名称)
        model->select();                                        //从数据表读取全部数据
    }
}

Widget::~Widget()
{
}

二、代码验证

1.把要浏览的data.db复制到exe同级目录,如果QT在debug模式,就复制到debug文件夹下

2.运行程序,就能看到数据库中的内容了

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值