最近在弄这个,于是整理了一下.
一.初始化
void init()
{
setRowCount(1);//设置一行
setColumnCount(2); //设置两列
int row = rowCount();
removeRow(row);//清除已有的行列
setShowGrid(true);//显示表格线
verticalHeader()->setVisible(false);//隐藏左边垂直
QHeaderView *headerView = horizontalHeader();
headerView->setMovable(false);//去除表头的移动
headerView->resizeSection(0,284);//设置第一列宽
headerView->resizeSection(1,127);//设置第二列宽
headerView->setResizeMode(QHeaderView::Fixed);//列表不能移动
headerView->setClickable(false);//不响应鼠标单击
setEditTriggers(QTableWidget::NoEditTriggers);//不能编辑
setSelectionBehavior(QTableWidget::SelectRows);//一次选中一行
setSelectionMode(QAbstractItemView::SingleSelection);//只能单选
/*QScrollBar *scrollBar = horizontalScrollBar();
scrollBar->hide();*/
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//去掉水平滚动条
setVerticalScrollMode(QAbstractItemView::ScrollPerItem);//垂直滚动条按项移动
setAutoScroll(false);//去掉自动滚动
QStringList list1;
list1.append(tr("1"));
list1.append(tr("2"));
setHorizontalHeaderLabels(list1);//设置表头内容
}
二.添加指定项
void CTableWidget::addItem(QString text)
{
QTableWidgetItem *operateItem = new QTableWidgetItem(text);
int row = rowCount();
QDateTime dataTime = QDateTime::currentDateTime();
QTableWidgetItem *timeItem = new QTableWidgetItem(dataTime.toString());
insertRow(row);
setItem(row, 0, operateItem);
setItem(row, 1, timeItem);
}
三.删除
void CTableWidget::clearSlot()
{
int count = rowCount();
int index = count - 1;
for (int i=0; i<count; i++)
{
removeRow(index);
index--;
}
}
其它操作可参考以下链接
http://blog.csdn.net/xie376450483/archive/2010/08/18/5816950.aspx.
我觉得这个链接写得很好.