如何让QGraphicsView处理拖放?说,从某个文件夹中拖动图像文件,然后拖放到QGraphicsView? Windows,QT5.2,C++。
最佳答案
您需要创建QGraphicsScene的子类(如果尚未这样做),并重写其dragEnterEvent(QGraphicsSceneDragDropEvent *)方法,以在其参数上调用acceptProposedAction()(如果该参数表示您可以处理的图像文件) -例如,如果dragDropEvent-> mimeData()-> hasUrls()返回true,并且dragDropEvent-> mimeData()-> urls()返回的QUrl中的至少一个可用于构造有效的QPixmap(通过QPixmap( url [i]-> toLocalFile))。
然后,您需要重写dropEvent(QGraphicsSceneDragDropEvent *)方法来创建一个新的QGraphicsPixmapItem对象(使用在QGraphicsSceneDragDropEvent对象的mimeData对象中指定的文件名创建的QPixmap),并将QGraphicsPixmapItem添加到QGraphicsScene。
关于c++ - 将照片文件拖放到QGraphicsView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17530160/