qt qgraphicsview设置不出现滑动条
时间: 2023-11-01 13:06:40 浏览: 126
在使用QGraphicsView时,如果希望出现滑动条,需要设置viewport的大小,并将QGraphicsView的大小设置为需要的大小。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QGraphicsView, QGraphicsScene, QSizePolicy
from PyQt5.QtCore import Qt
class MyGraphicsView(QGraphicsView):
def __init__(self):
super().__init__()
self.scene = QGraphicsScene(self)
self.setScene(self.scene)
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.setViewportUpdateMode(QGraphicsView.FullViewportUpdate)
def resizeEvent(self, event):
super().resizeEvent(event)
self.scene.setSceneRect(self.rect())
```
在这个示例代码中,我们首先创建了一个QGraphicsScene和一个QGraphicsView,并将QGraphicsView的大小设置为可扩展的。然后我们设置了垂直和水平滚动条的出现方式为始终出现,并将视口更新模式设置为FullViewportUpdate。
在resizeEvent函数中,我们根据QGraphicsView的大小来设置QGraphicsScene的大小。这样可以确保QGraphicsView中的所有内容都可以被完全显示,并且滑动条可以正确地出现。
如果您仍然无法看到滚动条,请确保您的QGraphicsView被正确地添加到父QWidget中,并且父QWidget的大小足够大以容纳QGraphicsView。
阅读全文