QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,正个表格都需要用逐个单元格构建起来。
/*QTbaleWidget*/ //设置列的数量 ui->tableWidget->setColumnCount(4); //设置行的数量 ui->tableWidget->setRowCount(10); //设置表格列的标题头 QStringList HeaderList; HeaderList <<"name"<<"age"<<"gender"<<"salary"; ui->tableWidget->setHorizontalHeaderLabels(HeaderList); //设置表格是不可编辑的状态 ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置表格为整行选中 /* Constant Value Description QAbstractItemView.SelectItems 0 Selecting single items.选中单个单元格 QAbstractItemView.SelectRows 1 Selecting only rows.选中一行 QAbstractItemView.SelectColumns 2 Selecting only columns.选中一列 */ ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //单个选中和多个选中的设置: /* * QAbstractItemView.NoSelection 不能选择 QAbstractItemView.SingleSelection 选中单个目标 QAbstractItemView.MultiSelection 选中多个目标 QAbstractItemView.ExtendedSelection QAbstractItemView.ContiguousSelection 的区别不明显,主要功能是正常情况下是单选,但按下Ctrl或Shift键后,可以多选 */ ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); ui->tableWidget->setItem(0,0,new QTableWidgetItem("memory"));
参考:http://blog.csdn.net/polokang/article/details/6696982
界面效果