C/C++ Qt数据库与TreeView组件绑定的方法是什么
发表于:2025-02-10 作者:千家信息网编辑
千家信息网最后更新 2025年02月10日,本篇内容主要讲解"C/C++ Qt数据库与TreeView组件绑定的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C/C++ Qt数据库与Tre
千家信息网最后更新 2025年02月10日C/C++ Qt数据库与TreeView组件绑定的方法是什么
本篇内容主要讲解"C/C++ Qt数据库与TreeView组件绑定的方法是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C/C++ Qt数据库与TreeView组件绑定的方法是什么"吧!
我们先以TreeView
组件为例,简单介绍一下如何实现组件与数据的绑定,首先我们需要创建一个表并插入几条测试记录,运行如下代码实现建库建表.
#include#include #include #include #include #include #include #include #include #include void Init(){ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("./lyshark.db"); if (!db.open()) { std::cout << db.lastError().text().toStdString()<< std::endl; return; } // 执行SQL创建表 db.exec("DROP TABLE LyShark"); db.exec("CREATE TABLE LyShark (" "id INTEGER PRIMARY KEY AUTOINCREMENT, " "name VARCHAR(40) NOT NULL, " "age INTEGER NOT NULL)" ); // 逐条插入 db.exec("INSERT INTO LyShark(name,age) VALUES('admin',22)"); db.exec("INSERT INTO LyShark(name,age) VALUES('lyshark',25)"); db.exec("INSERT INTO LyShark(name,age) VALUES('zhangsan',22)"); db.exec("INSERT INTO LyShark(name,age) VALUES('wangwu',22)"); db.commit();}MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); Init();}
执行建库建表后,数据库内记录如下:
有了数据表以后,接着就需要将数据表中的记录与View组件进行绑定,绑定组件首先需要调用QSqlQueryModel
查询数据表中的记录,当查询到记录以后,调用QItemSelectionModel()
将该记录绑定到对应的模型中,最后调用ui->treeView->setModel(qryModel);以及ui->treeView->setSelectionModel(theSelection);将该模型显示在TreeView
组件内,这段代码如下:
#include "mainwindow.h"#include "ui_mainwindow.h"#include#include #include #include #include #include #include #include #include #include #include #include #include // 定义数据模型指针QSqlQueryModel *qryModel; // 数据模型QItemSelectionModel *theSelection; // 选择模型QDataWidgetMapper *dataMapper; // 数据界面映射MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("./lyshark.db"); if (!db.open()) { std::cout << db.lastError().text().toStdString()<< std::endl; return; } // 查询数据表中记录 qryModel=new QSqlQueryModel(this); qryModel->setQuery("SELECT * FROM LyShark ORDER BY id"); if (qryModel->lastError().isValid()) { return; } // 设置TableView表头数据 qryModel->setHeaderData(0,Qt::Horizontal,"ID"); qryModel->setHeaderData(1,Qt::Horizontal,"Name"); qryModel->setHeaderData(2,Qt::Horizontal,"Age"); // 将数据绑定到模型上 theSelection=new QItemSelectionModel(qryModel); ui->treeView->setModel(qryModel); ui->treeView->setSelectionModel(theSelection); ui->treeView->setSelectionBehavior(QAbstractItemView::SelectRows);}MainWindow::~MainWindow(){ delete ui;}
运行代码后,程序会从数据库内取出结果并输出到TreeView组件上:
到此,相信大家对"C/C++ Qt数据库与TreeView组件绑定的方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
组件
模型
数据库
方法
代码
数据表
查询
内容
学习
运行
实用
更深
兴趣
实用性
实际
指针
操作简单
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北手机软件开发大概要多少钱
mfc 软件开发界面布局
软件开发套路大全
集客网络技术支撑应聘
打电话提示服务器被占用
vikor存储服务器
钉钉紧急服务器
怎样使用软件开发
网易率土之滨服务器有哪些
服务器有电脑硬盘吗
编写客户端 服务器 语言
网络技术核心战斗力
广州顶顶网络技术有限公司
代理服务器为空
3dmax服务器渲染是什么
厦门数据库面试
苹果手机提示检查服务器设置
全国信息网络安全协会联盟
四个数据库作用是什么
如何查看游戏服务器登录
诊断软件开发
华为的无线网络技术
安徽同济建设集团软件开发
近代图书报纸全文数据库
svn服务器 作用
湖北常见软件开发价格多少
朝阳区正规软件开发设计
河北软件开发品质售后无忧
阿里云数据同步服务器
对企业重管理轻服务器