可以使用以下代码去除QTableWidget单元格的边框:
// 设置QTableWidget的边框样式为无边框
tableWidget->setFrameStyle(QFrame::NoFrame);
// 设置QTableWidget的水平和垂直方向上的网格线不可见
tableWidget->setShowGrid(false);
// 设置QTableWidget的单元格选择模式为NoSelection,使其无法选中单元格
tableWidget->setSelectionMode(QAbstractItemView::NoSelection);
这样就可以去除单元格的边框了。如果需要保留某些行或列的网格线,可以在对应的行或列上设置它们的网格线可见。例如,要保留第一行和第一列的网格线,可以使用以下代码:
// 设置第一行和第一列的网格线可见
for (int i = 1; i < tableWidget->rowCount(); ++i) {
QTableWidgetItem* item = tableWidget->item(i, 0);
if (item != nullptr) {
item->setBackground(Qt::gray); // 可以用背景色来区分特殊行列
}
}
for (int j = 1; j < tableWidget->columnCount(); ++j) {
QTableWidgetItem* item = tableWidget->item(0, j);
if (item != nullptr) {
item->setBackground(Qt::gray);
}
}
这样就只会显示第一行和第一列的网格线,并用灰色背景标识出来。