QT开发中文网

QTableWidget 设置行间距样式 C++

在 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() 来获取垂直滚动条的宽度,并使用它来调整内边距。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=1025

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?