#c #qt
Вопрос:
У меня есть а QPushButton
на а QScrollArea
, родителем QPushButton
которого является тот QScrollArea
. Я перетаскиваю объект в QScrollArea
, а затем в QPushButton
, который всегда активирует dragLeaveEvent
QScrollArea
, я не хочу, чтобы эта функция активировалась, что мне делать?
Комментарии:
1. Если кнопка принимает события перетаскивания (и должна это делать), вы мало что можете с этим поделать. Тем не менее, вы можете установить фильтр событий, который обнаруживает это и обрабатывает его на ранней стадии (чтобы оно не передавалось в область прокрутки). Хотя перетаскивание (по крайней мере, в Windows) — это нечто особенное. Однажды я попытался управлять клавишами клавиатуры во время перетаскивания. (Для меня было очень важно поддержать это.) В конце концов я написал свой собственный менеджер перетаскивания, который просто фильтрует события мыши и «имитирует» (эмулирует?) перетащите и отбросьте…
Ответ №1:
Спасибо за ваши ответы, я решил проблему. Метод очень прост, просто установите для родительской кнопки qpush значение QScrollArea::widget (), и все будет решено.