1.QTableView的本质上是一个QSCrollArea,可以去看一下QSCrollArea的定义(是一个Widget+滚动条,两者是挨着的,不是上下覆盖关系),所以无论怎么设置QTableView的滚动条的样式,都不会浮在表格上
2.所以要想浮动在上面,必须自己new 一个QSCrollbar,然后设置好样式,与QTableView的滚动条保持同步即可
QScrollBar * pScrollbar = new QScrollBar(this);
connect(tableview->verticalScrollBar(), &QSCrollBar::rangeChanged, pScrollBar, &QSCrollBar::setRange);
connect(tableview->verticalScrollBar(), &QSCrollBar::valueChanged, pScrollBar, &QSCrollBar::setvalue);
connect(pScrollBar, &QSCrollBar::valueChanged, tableview->verticalScrollBar(), &QSCrollBar::setvalue);
本文解释了QTableView实际上基于QSCrollArea,如何通过创建新的QScrollBar并连接其范围和值变化信号以实现滚动条浮于表格之上,确保与QTableView滚动条同步操作。

8111

被折叠的 条评论
为什么被折叠?



