我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C/C++ Qt数据库与TreeView组件绑定的方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C/C++ Qt数据库与TreeView组件绑定的方法是什么

本篇内容主要讲解“C/C++ Qt数据库与TreeView组件绑定的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C/C++ Qt数据库与TreeView组件绑定的方法是什么”吧!

我们先以TreeView组件为例,简单介绍一下如何实现组件与数据的绑定,首先我们需要创建一个表并插入几条测试记录,运行如下代码实现建库建表.

#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include <QSqlRecord>#include <iostream>#include <QStringList>#include <QString>#include <QVariant>#include <QDataWidgetMapper>#include <QtSql>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();}

执行建库建表后,数据库内记录如下:

C/C++ Qt数据库与TreeView组件绑定的方法是什么

有了数据表以后,接着就需要将数据表中的记录与View组件进行绑定,绑定组件首先需要调用QSqlQueryModel查询数据表中的记录,当查询到记录以后,调用QItemSelectionModel()将该记录绑定到对应的模型中,最后调用ui->treeView->setModel(qryModel);以及ui->treeView->setSelectionModel(theSelection);将该模型显示在TreeView组件内,这段代码如下:

#include "mainwindow.h"#include "ui_mainwindow.h"#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include <QSqlRecord>#include <iostream>#include <QStringList>#include <QString>#include <QVariant>#include <QDataWidgetMapper>#include <QtSql>#include <QStandardItem>#include <QStringList>#include <QStringListModel>// 定义数据模型指针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组件绑定的方法是什么

到此,相信大家对“C/C++ Qt数据库与TreeView组件绑定的方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C/C++ Qt数据库与TreeView组件绑定的方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C/C++ Qt数据库与TreeView组件绑定的方法是什么

本篇内容主要讲解“C/C++ Qt数据库与TreeView组件绑定的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C/C++ Qt数据库与TreeView组件绑定的方法是什么”吧!我们
2023-06-21

C/C++ Qt数据库与TableView实现多组件联动的方法是什么

这篇文章主要讲解了“C/C++ Qt数据库与TableView实现多组件联动的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C/C++ Qt数据库与TableView实现多组件联动
2023-06-21

WPF TreeView绑定数据的方法是什么

WPF TreeView 绑定数据的方法有多种,可以使用以下几种方法:使用 ItemsSource 属性:可以将一个集合作为 TreeView 的 ItemsSource 属性的值进行绑定。例如,可以将一个 ObservableCollec
2023-10-23

C#中DataGridView数据绑定的方法是什么

在C#中,可以使用以下方法将数据绑定到DataGridView控件上:1. 使用DataBinding绑定数据源:可以通过设置DataGridView的DataSource属性来绑定数据源,例如:```dataGridView1.DataS
2023-09-26

gridview绑定数据库的方法是什么

GridView 绑定数据库的方法主要有以下几种:1. 使用数据源控件:可以使用 SqlDataSource、ObjectDataSource、LinqDataSource 等数据源控件来绑定 GridView 控件。通过配置数据源控件的连
2023-08-31

C# WPF数据绑定模板化操作的方法是什么

今天小编给大家分享一下C# WPF数据绑定模板化操作的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体实例代码如
2023-06-26

C/C++ QT实现自定义对话框的方法是什么

这篇文章主要讲解了“C/C++ QT实现自定义对话框的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C/C++ QT实现自定义对话框的方法是什么”吧!对话框分为多种,常见的有通用对
2023-06-21

dropdownlist绑定数据的方法是什么

可以使用以下方法绑定数据到一个下拉列表(dropdownlist)中:1. 使用数据绑定表达式(Data Binding Expression):在前端页面中,可以直接使用一行代码来绑定数据到下拉列表中。例如,使用ASP.NET的数据绑定表
2023-09-20

winform数据绑定的方法是什么

在WinForms中,数据绑定可以通过以下几种方法来实现:1. 使用DataBindings属性:可以将控件的属性与数据源的属性进行绑定。例如,可以将一个TextBox控件的Text属性与一个数据表中的某一列绑定,当数据源中的值发生变化时,
2023-10-10

Blazor数据绑定的方法是什么

本篇内容介绍了“Blazor数据绑定的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Blazor当中, 类似实现了WPF的基础绑定
2023-06-29

c#中datagridview控件绑定数据的方法有哪些

在C#中,可以通过以下几种方法绑定数据到DataGridView控件:1. 使用DataTable:可以通过将DataTable对象赋值给DataGridView的DataSource属性来绑定数据。例如:```DataTable dt =
2023-08-08

c#进度条绑定变量的方法是什么

在C#中,可以使用`ProgressBar`控件来显示进度条。要绑定进度条的值到一个变量,可以使用`DataBinding`来实现。以下是绑定进度条的值到一个变量的方法:1. 在窗体或用户控件中添加一个`ProgressBar`控件,并设置
2023-09-28

C#压缩Access数据库的方法是什么

这篇文章主要介绍“C#压缩Access数据库的方法是什么”,在日常操作中,相信很多人在C#压缩Access数据库的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#压缩Access数据库的方法是什么
2023-06-17

C++、Qt分别读写xml文件的方法是什么

这篇“C++、Qt分别读写xml文件的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++、Qt分别读写xml文件
2023-07-05

c语言变长数组定义的方法是什么

在C语言中,变长数组(Variable Length Arrays,VLA)可以通过指定数组大小为变量来定义。变长数组的大小在编译时确定,可以根据程序运行时的需要动态调整大小。变长数组的定义方法如下所示:int main() {int
c语言变长数组定义的方法是什么
2024-03-13

vue2.0双向数据绑定的方法是什么

这篇文章主要介绍“vue2.0双向数据绑定的方法是什么”,在日常操作中,相信很多人在vue2.0双向数据绑定的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue2.0双向数据绑定的方法是什么”的疑
2023-06-27

python tkinter控件treeview数据列表显示的方法是什么

这篇文章主要介绍了python tkinter控件treeview数据列表显示的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python tkinter控件treeview数据列表显示的方法是什么文
2023-06-26

C++类的定义与实现方法是什么

这篇文章主要讲解了“C++类的定义与实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++类的定义与实现方法是什么”吧!一、类的定义根据C++ Primer中的描述,类的定义是一
2023-06-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录