我们的开发环境是 VS2013 + Qt5.7.0,具体环境搭建请阅读《一步一步学习Qt开发》系列教程。
一步一步学习Qt开发(二):第一个应用程序 HelloWorld
一步一步学习Qt开发(三):分析 HelloWorld 程序
一步一步学习Qt开发(五):“信号/槽”(Signals & Slots) 的用法
创建 QWidget 的工程,名称为 MyTask,将 SQLite 及 RapidXML 源文件加入工程中,RapidXML 只有头文件,SQLite 可以先编译成动态库或静态库,也可以直接加入到工程,我们使用后者。
在界面上,我们使用 QTableView 这个类,界面类似于:
与 QTableView 相关的还有一个类 QTableWidget,后者继承自前者,两者的主要区别,这位博主写得很详细:
http://blog.sina.com.cn/s/blog_83dddc170100t31i.html
简单来说,QTableWidget 居于模型,QTableView 居于视图,就是所谓的 MVC 中的 View,用法上 QTableWidget 简单一点,但是如果一下显示较多的数据的时候,界面会“卡一下”,而 QTableView 会使用新的线程来显示,不会出现卡顿。我们拖这两个到界面上看看效果,下图中标记1是 QTableView,标记2是 QTableWidget:
拖一个 QHBoxLayout(或者QVBoxLayout)到界面上,再拖一个 QTableView 到 layout 上面:
layout 改名为 hLayout,并且修改 margin(边沿,table view 改名为 tvTask:
我们定义两个枚举,分别对应 task_log 与 detail 中的 status:
下面是已完成主要功能的界面,具体的完善还需要继续修改代码:
源码:
http://51ck.me/learning/qt/03_MyTask(unfinish).rar
下一节:开发一个“自动备份”小工具给自己使用(四)
