QTableView 使用心得
QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。
这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都需要用逐个单元格构建起来。
现在说一下QTableview的使用:
1、使表格不可编辑:
使用QT Designer的话,在QTableview的属性编辑里找到QAbstractItemView(这是QTableView继承的)那一栏,将editTriggers选为NoEditTrigger:
手动写代码的话:
tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
2. 设置表格为整行选择
手动代码:
tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
用Disigner的话和之前的类似,也是在QAbstractItemView栏的继承属性里
3、使用QTableView自适应内容
手动代码:
tableBTRelations->resizeColumnsToContents();