本文主要在QTableview插入数据的基础上,使左边序号实现倒序,实现如下图所示。
解决办法:
QTableview左侧是QHeaderView类构成的, 重写QHeaderView的paintSection, 重写序号的文字内容,进而****实现QTableview 左侧序号倒序
定义新类,并调用
//.h
class RealTimeTableHeaderView : public QHeaderView
{
public:
NewHeaderView(Qt::Orientation orientation,
QWidget * parent = nullptr) :
QHeaderView(orientation, parent)
{
;
}
protected:
void paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const override;
};
//.cpp
void NewHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
{
QHeaderView::paintSection(painter, rect, count() - logicalIndex - 1);
}
调用:
NewHeaderView *m_pNewHeaderView = nullptr;
m_pNewHeaderView = new NewHeaderView(Qt::Vertical, ui->show_realtime_tableView);
ui->tableView->setVerticalHeader(m_pNewHeaderView);
主要是:
QHeaderView::paintSection(painter, rect, count() - logicalIndex - 1);// 代表倒序
QHeaderView::paintSection(painter, rect, logicalIndex );// 代表正序