Экспериментально выяснено, что помогает нижеследующая функция, которую надо вызывать после setWindowFlags
void MainWindow::restoreAcceptDrops(QWidget *AParent)
{
#ifdef Q_WS_WIN
foreach(QObject *object, AParent->children())
{
if (object->isWidgetType())
{
QWidget *childWidget = qobject_cast<QWidget *>(object);
if (childWidget->acceptDrops())
{
childWidget->setAcceptDrops(false);
childWidget->setAcceptDrops(true);
}
restoreAcceptDrops(childWidget);
}
}
#endif
}