通过QGraphicsPixmapItem移到graphicsView的图片高度怎么计算
时间: 2023-06-03 20:02:22 浏览: 44
您好,关于您的问题,可以通过下面的公式计算QGraphicsPixmapItem在graphicsView中的高度:
item_height = item_pixmap.height() * graphicsview_height / pixmap_height
其中,item_pixmap为QGraphicsPixmapItem对象的pixmap属性,graphicsview_height为graphicsView的高度,pixmap_height为pixmap的原始高度。希望能对您有所帮助。
相关问题
graphicsview自适应图片
要在Qt QGraphicsView中自适应显示图片,可以使用`fitInView`函数来实现。
具体步骤如下:
1. 创建QGraphicsScene对象,并将其设置为QGraphicsView的场景。
```
QGraphicsScene *scene = new QGraphicsScene(this);
ui->graphicsView->setScene(scene);
```
2. 加载图片并将其添加到场景中。
```
QPixmap pixmap(":/path/to/image.png");
QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap);
scene->addItem(item);
```
3. 调用`fitInView`函数来自适应显示图片。
```
ui->graphicsView->fitInView(item, Qt::KeepAspectRatio);
```
`fitInView`函数的第一个参数是要自适应的图形项,第二个参数是自适应方式,`Qt::KeepAspectRatio`表示保持宽高比不变。
这样,当你加载一张图片时,`fitInView`函数会将图片缩放到适合QGraphicsView大小的比例,从而实现自适应显示图片。
pyqt5的GraphicsView展示图片
可以使用PyQt5中的GraphicsView来展示图片,以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class ImageViewer(QMainWindow):
def __init__(self):
super().__init__()
# 设置窗口标题
self.setWindowTitle("Image Viewer")
# 创建GraphicsView和Scene
self.view = QGraphicsView(self)
self.scene = QGraphicsScene(self)
self.view.setScene(self.scene)
# 加载图片
image = QImage("image.jpg")
pixmap = QPixmap.fromImage(image)
# 在Scene中添加图片
item = QGraphicsPixmapItem(pixmap)
self.scene.addItem(item)
# 设置GraphicsView的大小
self.view.setFixedSize(image.width(), image.height())
# 显示窗口
self.setCentralWidget(self.view)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
viewer = ImageViewer()
sys.exit(app.exec_())
```
在示例代码中,我们首先创建了一个QGraphicsView和QGraphicsScene,然后加载一张图片并将其转化为QPixmap,接着创建一个QGraphicsPixmapItem并将其添加到QGraphicsScene中,最后设置QGraphicsView的大小并显示窗口。