在 QTableWidget 中设置行间距样式可以通过修改表格的样式表实现。以下是一个示例代码:
// 设置行高和行间距
int rowHeight = 30;
int rowSpacing = 10;
ui->tableWidget->verticalHeader()->setDefaultSectionSize(rowHeight);
ui->tableWidget->setStyleSheet(QString("QTableView::item { padding: %1px; } "
"QTableView { border: none; background-color:white; "
"padding-right:%2px; padding-left:%2px; }")
.arg(rowSpacing / 2).arg(ui->tableWidget->verticalScrollBar()->width()));
// 设置行背景颜色
for (int i = 0; i < ui->tableWidget->rowCount(); ++i) {
QTableWidgetItem* item = new QTableWidgetItem();
if (i % 2 == 0) {
item->setBackground(QBrush(QColor("#F5F5F5")));
} else {
item->setBackground(QBrush(QColor(Qt::white)));
}
ui->tableWidget->setItem(i, 0, item);
}
上述代码中,通过设置 QTableView 的样式表来调整行间距和行高。同时,还可以使用 setItem() 函数设置每一行的背景颜色以实现条纹状效果。
注意,在设置样式表时,需要将 QTableView 的 border 属性设为 none,否则可能会出现奇怪的边框。
另外,由于 Qt 默认的表格单元格包含了一些内边距(padding),所以在设置行间距时需要考虑这些内边距的影响。上述代码中,我们使用了 ui->tableWidget->verticalScrollBar()->width() 来获取垂直滚动条的宽度,并使用它来调整内边距。