Я пишу приложение, которое отображает список файлов в QTableView. Я подклассифицировал QTableView на свой собственный вид (файлBrowserTableView). Цель этой таблицы - отобразить список файлов и папок. Я хотел бы, чтобы пользователь мог выбрать ячейку (или выбор ячеек) и перетащить ее во внешнее приложение, которое принимает MIME этого типа (т. Е. Проводник Windows или Outlook). Из моих исследований кажется, что мне нужно повторно реализовать mousePressEvent и mouseMoveEvent. В рамках этих функций я могу затем создать объект QDrag и установить QMimeData типа QList, который относится к выбранным файлам.Перетаскивание ячейки из QTableView во внешнее приложение
Есть ли у кого-нибудь предложения или примеры кода? Все существующие образцы, которые я нашел, похоже, сосредоточены на удалении строк между виджетами или в тех же виджетах. На данный момент я не заинтересован в каких-либо функциональных возможностях отбрасывания. Другая вещь, которую я хочу сохранить, - это все существующее поведение выбора этого виджета - только когда начинается перетаскивание, я хочу, чтобы это поведение имело место. В настоящий момент мои первоначальные попытки повторно реализовать mousePressEvent означают, что я потерял все поведение выбора в своей таблице. Я установил dragEnabled на свой стол, поэтому я могу перетаскивать ячейки под мышкой, хотя на данный момент я, очевидно, не могу их никуда не отбрасывать.
Заранее спасибо.
Благодаря для обратной связи. Я закончил реализацию только mouseMoveEvent - моя ошибка, из-за которой я убивал остальную часть поведения выбора, было то, что я не вызывал стандартный QTableView :: mouseMoveEvent (..) после того, как я занимался задачами QMimeData. Моя переписана функция заканчивает тем, как: ' ничтожной fileBrowserTableView :: mouseMoveEvent (QMouseEvent * события) { \t если (кнопки> от событий() и Qt :: LeftButton) { \t \t \t performDrag(); \t} \t QTableView :: mouseMoveEvent (событие); } ' performDrag затем обрабатывает задачи QMimeData, но я предпочитаю ваш метод, поэтому вместо этого реализует это. –