Название: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: YvenTitan от Май 16, 2016, 13:55 Здравствуйте)
Я хочу сделать, чтобы при перемещении строки с помощью Drag and Drop в QAbstractTableModel изменялся список, на котором основывается модель, в соответствии с изменением модели. Для этого мне необходимо знать, какая была перемещена (в какую строку перемещена можно узнать при помощи функции dropMimeData). Можете подсказать, как определить позицию, из которой перетащили строку? Название: Re: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: break от Май 16, 2016, 18:16 Через ф-ю mimeData запихнуть номера перемещаемых строк в QMimeData, а в dropMimeData вытащить их оттуда и анализировать как Вы хотите.
Название: Re: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: Igors от Май 17, 2016, 10:33 Я хочу сделать, чтобы при перемещении строки с помощью Drag and Drop в QAbstractTableModel изменялся список, на котором основывается модель, в соответствии с изменением модели. А разве сейчас модель не обновляется? Через ф-ю mimeData запихнуть номера перемещаемых строк в QMimeData, а в dropMimeData вытащить их оттуда и анализировать как Вы хотите. Так теряется весь сервис Qt, у них mime заточено на DnD между приложениямиА вообще я так и не смог добиться разумного перемещения, см здесь (http://www.prog.org.ru/index.php?topic=29013.msg212713#msg212713) Название: Re: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: break от Май 17, 2016, 19:11 Цитировать Так теряется весь сервис Qt, у них mime заточено на DnD между приложениями Заявление громкое, но врят ли столь актуальное. В приложении может не быть обмена данными с другим приложением, или обмена данными конкретно из этой модели. Не вижу причин, чтобы не использовать QMimeData в данном случае как возможность передать пользовательские данные. Кроме того у Qt достаточно кривых мест, если что-то было придумано не совсем для этого, это врят ли повод не использовать это совсем.Название: Re: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: kambala от Май 17, 2016, 23:45 можно попробовать перекрыть QAbstractItemView::startDrag() и там получить индекс строки
Название: Re: Номер перемещенной строки при Drag and Drop в QAbstractTableModel Отправлено: Igors от Май 18, 2016, 09:26 Цитировать Так теряется весь сервис Qt, у них mime заточено на DnD между приложениями Заявление громкое, но врят ли столь актуальное. можно попробовать перекрыть QAbstractItemView::startDrag() и там получить индекс строки Что обычно сводится к запоминанию selection. В этом нет ничего плохого, но тогда проще реализовать это самому, без DnD. |