QTableWidget继承自QTableView。QSqlTableModel能与QTableView绑定,但不能于QTableWidget绑定。ide
QTableWidget是QT程序中经常使用的显示数据表格的空间,很相似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。函数
QTableWidget是QTableView的子类,主要的区别是QTableView能够使用自定义的数据模型来显示内容(也就是先要经过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,而且其单元格数据是QTableWidgetItem的对象来实现的(也就是不须要数据源,将逐个单元格内的信息填好便可)。这主要体如今QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都须要用逐个单元格构建起来。ui
具体区别表格spa
区别点对象 |
QTableView继承 |
QTableWidgetci |
继承关系rem |
|
QTableWidget继承自QTableViewget |
使用数据模型setModelit |
能够使用setModel设置数据模型 |
setModel是私有函数,不难使用该函数设置数据模型 |
显示复选框setCheckState |
没有函数实现复选框 |
QTableWidgetItem类中的setCheckState(Qt::Checked);能够设置复选框 |
与QSqlTableModel绑定 |
QTableView能与QSqlTableModel绑定 |
QtableWidget不能与QSqlTableModel绑定 |
View与Model绑定注意事项
但视图与模型绑定时,模型必须使用new来建立。不然视图不能随着模型的改变而改变。
Eorror错误的写法
Right 正确的写法