目录
- 一、项目介绍
- 二、项目基本配置
- 三、UI界面设计
- 四、连接数据库模块
- 五、添加记录功能
- 六、完整代码
- 七、效果演示
一、项目介绍
结合SQL数据库、XML以及TableView相关知识,展示汽车制造商与汽车的关系。当在汽车制造商表中选中某个制造商时,下面的汽车表中将显示该车的车型和制造商的详细信息,车型的相关信息存储在XML文件中。
二、项目基本配置
新建一个Qt案例,项目名称为“CarTest”,基类选择“QMainWindow”,点击选中创建UI界面复选框,完成项目创建。
三、UI界面设计
UI界面布局如下:
其中,汽车制造商、汽车和详细信息这三个文字部分是GroupBox创建的,其内部包含的控件如下:
序号名称类型属性①factoryViewQTableViewEditTriggers:NoEditTriggersSortingEnabled:trueSelectionBehavior:SelectRowsSelectionMode:SingleSelectionShowGrid:falseverticalHeader:falseAlternatingRowColors:true②carViewQTableViewEditTriggers:NoEditTriggersSortingEnabled:trueSelectionBehavior:SelectRowsSelectionMode:SingleSelectionShowGrid:falseverticalHeader:falseAlternatingRowColors:true③profileLabelQLabelwordwrap:trueAlignment:AlignBottom④titleLabelQLabelwordwrap:trueAlignment: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目录下即可完美运行。
七、效果演示
完整效果如下: 