1、設置表頭及大小
QStringList header;
header<<"ID"<<"NAME"<<"年齡"<<"sex"<<"data";
ui->tableWidget->setHorizontalHeaderLabels(header);
ui->tableWidget->setRowCount(3); ui->tableWidget->setColumnCount(5); 2、獲得和設置單元內容connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),SLOT(showmark()));
void widget::showmark()
{
QTableWidgetItem *item = ui->tableWidget->currentItem();
item->setTextColor(QColor(255,50,50));
ui->label->setText(item->text());
}
ui->tableWidget->setItem(xx,yy++,new QTableWidgetItem(ui->lineEdit_2->text()));
這樣獲得的item 一定要判斷是否爲空 若爲空 應進行空的對應處理(否則程序會報錯退出)
3、插入一行
ui->tableWidget->insertRow(xx);xx表示對應的位置
/*給單元格中增加圖標*/QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), NULL); //只加入圖標,沒有字符串QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), myString); //加入圖標和字符串table->setItem(row, column, item);/*插入一行*/int row = table->rowCount();table->insertRow(row);/*插入一列*/int column = table->columnCount();table->insertColumn(column);//使行列頭自適應寬度,最後一列將會填充空白部分table->horizontalHeader()->setStretchLastSection(true); //使行列頭自適應寬度,所有列平均分來填充空白部分 table->horizontalHeader()->setResizeMode(QHeaderView::Strtch); //使行自適應高度,假如行很多的話,行的高度不會一直減小,當達到一定值時會自動生成一個QScrollBartable->verticalHeader()->setResizeMode(QHeaderView::Strtch);//設置單擊選擇一行table->setSelectionBehuavior(QAbstractItemView::SelectRows);//設置每行內容不可編輯table->setEditTriggers(QAbstractItemView::NoEditTriggers);//設置只能選擇一行,不能選擇多行table->setSelectionMode(QAbstractItemView::SingleSelection);/*去掉每行的行號*/QHeaderView *headerView = table->verticalHeader();headerView->setHidden(true);/*設置讓某個單元格或某行選中*/選中單元格:table->setCurrentCell(row, column, QItemSelectionModel::Select);選中一行:table->setCurrentCell(row, QItemSelectionModel::Select);(注意此處的列沒有值)
4、刪除某一行 列
FriendTable->removeRow(row);FriendTable->removeColumn (column );
5、
6、隔行顯示顏色
ui->tableWidget->setAlternatingRowColors(1);
this->ui->friendList->setSelectionMode(QAbstractItemView::SingleSelection); //設置只能選擇一行,不能多行選中
this->ui->friendList->setEditTriggers(QAbstractItemView::NoEditTriggers); //設置每行內容不可更改
this->ui->friendList->setAlternatingRowColors(true); //設置隔一行變一顏色,即:一灰一白