Как безопасно удалить виджет во время выполнения QDrag? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть виджет, время жизни которого определяется таймером: по истечении таймера виджет закрывается.

Этот виджет имеет перетаскиваемые объекты, которые реализовали что-то вроде этого

//some code here...

QDrag *drag = new QDrag(this);
drag->setMimeData(mime);
drag->setPixmap(pixmap);
drag->setHotSpot(hotSpot);
drag->exec();

//some code after...

Если я начну перетаскивать элемент, а во время перетаскивания истекает таймер, он удалит виджет и все его дочерние элементы, что означает, что весь код после drag->exec() не будет выполнен, поскольку объект уже уничтожен.

Как я могу предотвратить такое поведение и изящно удалить объект?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...