如何在QGraphicsView顯示圖片,並可以使用滑鼠左鍵進行拖曳, 請使用C++語言
时间: 2024-04-29 22:05:40 浏览: 14
可以通过以下步骤在QGraphicsView中显示图像并启用拖放功能:
1. 创建一个QGraphicsScene对象来存储图像。例如,可以使用以下代码将图像加载到QImage对象中,并将其添加到场景中:
```c++
QGraphicsScene* scene = new QGraphicsScene(this);
QImage image("path/to/image.jpg");
QPixmap pixmap = QPixmap::fromImage(image);
scene->addPixmap(pixmap);
```
2. 创建QGraphicsView对象并将其设置为场景的视图:
```c++
QGraphicsView* view = new QGraphicsView(scene, this);
```
3. 启用拖放功能。为此,需要在QGraphicsView对象上启用跟踪功能,并为其设置鼠标事件处理程序:
```c++
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setInteractive(true);
```
4. 将视图添加到窗口中:
```c++
setCentralWidget(view);
```
完整示例代码:
```c++
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QImage>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QGraphicsScene* scene = new QGraphicsScene();
QImage image("path/to/image.jpg");
QPixmap pixmap = QPixmap::fromImage(image);
scene->addPixmap(pixmap);
QGraphicsView* view = new QGraphicsView(scene);
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setInteractive(true);
view->show();
return a.exec();
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)