目录

  • 一、项目介绍
  • 二、项目基本配置
  • 三、UI界面设计
  • 四、连接数据库模块
  • 五、添加记录功能
  • 六、完整代码
  • 七、效果演示

一、项目介绍

结合SQL数据库、XML以及TableView相关知识,展示汽车制造商与汽车的关系。当在汽车制造商表中选中某个制造商时,下面的汽车表中将显示该车的车型和制造商的详细信息,车型的相关信息存储在XML文件中。

二、项目基本配置

新建一个Qt案例,项目名称为“CarTest”,基类选择“QMainWindow”,点击选中创建UI界面复选框,完成项目创建。

三、UI界面设计

UI界面布局如下:

其中,汽车制造商、汽车和详细信息这三个文字部分是GroupBox创建的,其内部包含的控件如下:

序号 名称 类型 属性
factoryView QTableView EditTriggers:NoEditTriggers
SortingEnabled:true
SelectionBehavior:SelectRows
SelectionMode:SingleSelection
ShowGrid:false
verticalHeader:false
AlternatingRowColors:true
carView QTableView EditTriggers:NoEditTriggers
SortingEnabled:true
SelectionBehavior:SelectRows
SelectionMode:SingleSelection
ShowGrid:false
verticalHeader:false
AlternatingRowColors:true
profileLabel QLabel wordwrap:true
Alignment:AlignBottom
titleLabel QLabel wordwrap:true
Alignment:AlignBottom
attribList QListWidget /
操作菜单 QMenu 内含三个子菜单:
添加:addAction
删除:deleteAction
退出:quitAction

四、连接数据库模块

Add New——>Qt——>Qt设计师界面类——>Dialog without Buttons。
class name设置为:ConnDlg,下一步,确定。
然后在conndlg.ui中设置界面如下:

界面中创建了15个控件,其名称和类型如下:

序号 名称 类型 属性
label QLabel text:驱动:
label_2 QLabel text:数据库名:
label_3 QLabel text:用户名:
label_4 QLabel text:密码:
label_5 QLabel text:主机名:
label_6 QLabel text:端口
comboDriver QComboBox currentText:请选择数据库驱动
databaseEdit QLineEdit /
usernameEdit QLineEdit /
passwordEdit QLineEdit /
11 HostnameEdit QLineEdit /
12 portspinBox QSpinBox /
13 label_7 QLabel text:状态
14 ok QPushButton text:连接
15 cancel QPushButton text:退出

五、添加记录功能

Add New——>Qt——>Qt设计师界面类——>Dialog without Buttons。
class name设置为:Dialog,下一步,确定。
然后在dialog.ui中设置界面如下:

界面中创建了13个控件,其名称和类型如下:

序号 名称 类型 属性
label QLabel text:制造商:
label_2 QLabel text:厂址:
label_3 QLabel text:品牌:
label_4 QLabel text:上市时间:
factoryEditor QLineEdit /
addressEditor QLineEdit /
carEditor QLineEdit /
yearspinBox QSpinBox minimum:1900;maximum:2100
label_5 QLabel text:产品属性(由分号;隔开):
attribEditor QLineEdit /
11 submit QPushButton text:提交
12 revert QPushButton text:撤销
13 closeButton QPushButton text:退出

六、完整代码

由于代码复杂度太高,文章内容无法覆盖完全,有需要的可以自行下载:资源

【注意】:Qt文件编译成功后,将文件内的xml文件移动到生成的debug或release目录下即可完美运行。

七、效果演示

完整效果如下:

Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)相关推荐

  1. 事务管理基础:数据库的并发控制相关知识笔记

    1.并发操作的概念介绍 并发操作主要是指在多用户共享的系统当中,可能存在很多用户同时对同一个数据进行操作.并发操作会造成丢失更新.不可重复读.读脏数据.主要原因是事务的并发操作破坏了事务的隔离性. 2 ...

  2. 数据库:MySQL相关知识整理,值得收藏!

    一.数据库引擎 选择:MyISAM相对简单,所以在效率上要优于InnoDB.如果系统插入和查询操作多,不需要事务和外键,选择MyISAM,如果需要频繁的更新.删除操作,或者需要事务.外键.行级锁的时候 ...

  3. 数据库系备份相关知识笔记

    1.数据库备份的知识介绍 在互联网时代,最珍贵的财产不是计算机应用软件,更不是计算机硬件,而是企业在业务长期发展过程中积累下来的业务数据.建立网络最根本的用途是更加方便的传递.使用数据,人为原因.硬盘 ...

  4. 数据库:Redis相关知识梳理

    1.数据类型 string(字符串):最基本的k-v存储 ,适合验证码.配置信息等 list(列表):适合有序/固定的列表.比如行政区.字典表.消息队列等. set(集合):支持交集.并集.差集等操作 ...

  5. SQLServer数据库文件组相关知识笔记

    1.数据库文件组概念 数据库文件被组织在称为"文件组"的逻辑组中.文件组是所创建对象(如表或索引)的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控 ...

  6. 数据库监控工具及相关知识

    数据库运行状态监控,是对数据库各种运行指标进行全方位实时监控.使之能够提前发现和识别数据库异常以及潜在的性能问题,并及时将数据库异常报告给管理员,通过针对各项运行指标的统计分析报表,帮助管理员.运维人 ...

  7. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  8. 【综合案例】网络贷款违约预测

    目录 一.案例背景 二.数据处理 2.1 选取数据 2.2 删除无效数据 2.3 分析属性关系 2.4 数据再处理 三.模型训练 3.1 分离训练集 3.2 模型训练 四.模型预测 一.案例背景 随着 ...

  9. Oracle数据库中字符串相关字段类型辨析

    本文来自李明子csdn博客(http://blog.csdn.net/free1985),商业转载请联系博主获得授权,非商业转载请注明出处! 1 引子 字符串类型的字段在各关系数据库中均占有重要地位. ...

最新文章

  1. oracle回收ddl权限,查看oracle用户所有权限,并获取授权的DDL-Oracle
  2. 在GridView中如何格式化Money型字段?
  3. supervisor python_使用supervisor运行python脚本
  4. pyqt5中sender方法介绍_【第五节】PyQt5事件和信号
  5. Spring集成web环境(使用封装好的工具)
  6. ECOMP已经开源成功,这次ATT准备推动白盒路由操作系统DNOS
  7. C#LeetCode刷题之#63-不同路径 II​​​​​​​(Unique Paths II)
  8. 完美 全兼容 解决 文字两端对齐 justify 中文姓名对齐
  9. PCIe扫盲——基于WinDriver快速开发PCIe驱动简明教程
  10. 映美精相机(the imaging source)在树莓派(Raspberry Pi )中的使用(一)
  11. 99kk1.com login.php,自己写的qq登录功能,无需官方SDK
  12. 电子祝福贺卡小程序有哪些?
  13. 亲测有效:解决inkscape转换的svg图标,上传到阿里图标库不显示问题
  14. 三相电流滞环跟踪PWM控制
  15. 【SVN】Win 10:SVN 下载、安装和汉化
  16. linux下中文输入法的安装(解决菜单栏输入法图标消失问题)
  17. 北京金普蝶:让客户满意就是最好的营销!
  18. 统计网站的用户访问量的实现
  19. ConcurrentHashMap源码解析
  20. Genesis公链将打造一个万物智能的数字世界

热门文章

  1. centos 7 使用rpm安装minio
  2. 批量复制IE临时文件(Temporary Internet Files)
  3. opencv+python实现图像的增强与合成(人像迁移)
  4. 【案例】【技术难点(已解决)】vue 线上项目访问本地资源 访问不到、跨域等问题的解决方法
  5. 智能车心得分享(六)-- 电磁入环
  6. Android中启动一个服务,Android服务的两种启动方式
  7. paddlehub的安装
  8. 已经发车的票还能取出来吗_已经乘坐过的动车票还能取票吗?
  9. Flex布局教程(非常受用)
  10. 人工智能研究领域的热门话题