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

目录

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

一、项目介绍

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

二、项目基本配置

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

三、UI界面设计

UI界面布局如下:
Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)_第1张图片
其中,汽车制造商、汽车和详细信息这三个文字部分是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中设置界面如下:
Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)_第2张图片
界面中创建了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中设置界面如下:
Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)_第3张图片
界面中创建了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等相关知识展示汽车制造商与汽车关系(综合案例)_第4张图片

你可能感兴趣的:(Qt,qt,数据库,ui,sqlite,c++)