我有一个基本上像桌子一样的场景。因此,我希望它像桌子一样滚动...一次一行或一列。具体来说,左上角的可见项应该在视口左上角的左上角,除非滚动条处于最大值(在这种情况下,它是完全在视图中的底部/右侧项)。按箭头键应显示该方向的下一行或列。
通常可以通过继承QAbstractScrollArea并根据需要进行设置来轻松实现,但QGraphicsView已经这样做了。是否有人能想出一种实现这种效果的聪明方法?
答案 0 :(得分:0)
只需覆盖QGraphicsScene::keyPressEvent
和...
你必须在桌子的两端禁用这个动作,但听起来你可能最初想的要简单得多
的修改
过载QGraphicsView::scrollContentsBy
来处理滚动条移动。您可以存储dx和dy参数,并仅在此值大于单元格大小时滚动移动