Yes, in principle. The most portable way is to see if the mime data contains URLs.
For example:
{
public:
Widget()
{
setAcceptDrops(true);
}
{
foreach
(QUrl url, event
->mimeData
()->urls
()) if (QFileInfo(url.
toLocalFile()).
suffix().
toUpper()=="PNG") {
event->acceptProposedAction();
return;
}
}
{
foreach
(QUrl url, event
->mimeData
()->urls
()) {
QString filename
= url.
toLocalFile();
if(suffix=="PNG")
{
event->acceptProposedAction();
// do something
continue;
}
}
}
};
class Widget : public QWidget
{
public:
Widget()
{
setAcceptDrops(true);
}
void dragEnterEvent(QDragEnterEvent *event)
{
foreach(QUrl url, event->mimeData()->urls())
if (QFileInfo(url.toLocalFile()).suffix().toUpper()=="PNG")
{
event->acceptProposedAction();
return;
}
}
void dropEvent(QDropEvent *event)
{
foreach(QUrl url, event->mimeData()->urls())
{
QString filename = url.toLocalFile();
QString suffix = QFileInfo(filename).suffix().toUpper();
if(suffix=="PNG")
{
event->acceptProposedAction();
// do something
continue;
}
}
}
};
To copy to clipboard, switch view to plain text mode
Bookmarks