qttableview 行号 自定义
时间: 2023-07-26 18:03:53 浏览: 107
您可以通过自定义Qt的QStyledItemDelegate类来实现更改行号的样式。以下是一个简单的示例代码:
```cpp
class RowNumberDelegate : public QStyledItemDelegate {
public:
RowNumberDelegate(QObject* parent = nullptr) : QStyledItemDelegate(parent) {}
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override {
QStyleOptionViewItem newOption(option);
newOption.displayAlignment = Qt::AlignRight | Qt::AlignVCenter;
QStyledItemDelegate::paint(painter, newOption, index);
painter->drawText(option.rect, Qt::AlignRight | Qt::AlignVCenter, QString::number(index.row() + 1));
}
};
```
在您的QTableView中,您需要将此自定义委托类分配给相应的列。例如:
```cpp
ui->tableView->setItemDelegateForColumn(0, new RowNumberDelegate(this));
```
这将在第一列中显示行号。您可以更改数字1以适应您的特定情况。
阅读全文