void UIImgTest::dragEnterEvent(QDragEnterEvent* event)
{
if (!event->mimeData()->urls()[0].toLocalFile().right(3).compare("jpg", Qt::CaseInsensitive)
|| !event->mimeData()->urls()[0].toLocalFile().right(3).compare("tif", Qt::CaseInsensitive)
|| !event->mimeData()->urls()[0].toLocalFile().right(3).compare("png", Qt::CaseInsensitive)
|| !event->mimeData()->urls()[0].toLocalFile().right(3).compare("bmp", Qt::CaseInsensitive)
|| !event->mimeData()->urls()[0].toLocalFile().right(4).compare("jpeg", Qt::CaseInsensitive))
{
event->acceptProposedAction();//接受鼠标拖入事件
dropEvent(event);
}
else
{
event->ignore();//否则不接受鼠标事件
}
}
void UIImgTest::dropEvent(QDropEvent* event)//拖入事件
{
const QMimeData *qm = event->mimeData();//获取MIMEData
QString file = qm->urls()[0].toLocalFile();//得到影像名称
bool flag = true;
for (int i = 0; i < list.size(); i++){//去重复文件名
if (list.at(i) == file){
flag = false;
break;
}
}
if (flag){
list.append(file);//添加数据
myMap->ReadImg(list);//显示图片
}
else{
QMessageBox msgBox;
msgBox.setText("该文件已经存在,请重新输入!");
msgBox.exec();
}
}
结果显示: