您当前的位置: 首页 >  wendy_ya 数据库

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

wendy_ya 发布时间:2022-01-22 19:08:58 ,浏览量:2

目录

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

一、项目介绍

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

二、项目基本配置

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

三、UI界面设计

UI界面布局如下:

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

序号名称类型属性
factoryViewQTableViewEditTriggers:NoEditTriggers
SortingEnabled:true
SelectionBehavior:SelectRows
SelectionMode:SingleSelection
ShowGrid:false
verticalHeader:false
AlternatingRowColors:true
carViewQTableViewEditTriggers:NoEditTriggers
SortingEnabled:true
SelectionBehavior:SelectRows
SelectionMode:SingleSelection
ShowGrid:false
verticalHeader:false
AlternatingRowColors:true
profileLabelQLabelwordwrap:true
Alignment:AlignBottom
titleLabelQLabelwordwrap:true
Alignment:AlignBottom
attribListQListWidget/
操作菜单QMenu内含三个子菜单:
添加:addAction
删除:deleteAction
退出:quitAction

四、连接数据库模块

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

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

序号名称类型属性
labelQLabeltext:驱动:
label_2QLabeltext:数据库名:
label_3QLabeltext:用户名:
label_4QLabeltext:密码:
label_5QLabeltext:主机名:
label_6QLabeltext:端口
comboDriverQComboBoxcurrentText:请选择数据库驱动
databaseEditQLineEdit/
usernameEditQLineEdit/
passwordEditQLineEdit/
11HostnameEditQLineEdit/
12portspinBoxQSpinBox/
13label_7QLabeltext:状态
14okQPushButtontext:连接
15cancelQPushButtontext:退出

五、添加记录功能

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

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

序号名称类型属性
labelQLabeltext:制造商:
label_2QLabeltext:厂址:
label_3QLabeltext:品牌:
label_4QLabeltext:上市时间:
factoryEditorQLineEdit/
addressEditorQLineEdit/
carEditorQLineEdit/
yearspinBoxQSpinBoxminimum:1900;maximum:2100
label_5QLabeltext:产品属性(由分号;隔开):
attribEditorQLineEdit/
11submitQPushButtontext:提交
12revertQPushButtontext:撤销
13closeButtonQPushButtontext:退出

六、完整代码

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

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

七、效果演示

完整效果如下:

关注
打赏
查看更多评论

wendy_ya

暂无认证

  • 2浏览

    0关注

    310博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录