Удаление файла извне приложения в QTableView - PullRequest
0 голосов
/ 12 марта 2012

У меня есть QTableView, и я хотел бы иметь возможность перетаскивать файл изображения из-за пределов приложения в строку, и после этого события ему необходимо определить, в какую строку он был добавлен, что-то сделать с файлом (скопировать в каталог, измените размер, добавьте в БД, ...) и, наконец, обновите столбец в таблице, с которым у этого элемента / строки теперь связан файл изображения.

Я понял, что могу наследовать, например, от QTableView, повторно реализуйте dropEvent (QDropEvent *), затем я мог бы вызвать QDropEvent :: pos () внутри функции-члена, чтобы получить QPoint для места, где произошло падение, и затем вызвать QTableView :: indexAt (const QPoint &), чтобы получить QModelIndex для строка / столбец, но тогда я не знаю, как сообщить модели с 1) QModelIndex и 2) QMimeData, чтобы модель могла обрабатывать эти операции с изображением, а также обновлять себя новыми данными и предоставлять эти данные на вид.

1 Ответ

2 голосов
/ 13 марта 2012

bool QAbstractItemModel :: dropMimeData (const QMimeData * data, действие Qt :: DropAction, строка int, столбец int, const QModelIndex & parent) [virtual] точная функция для информирования модели

  1. QModelIndex и
  2. QMideData

Чтобы обновить модель - Пожалуйста, прочитайте это: http://doc.qt.nokia.com/4.7-snapshot/qabstractitemmodel.html#dropMimeData, и это может сильно помочь (еслиВы еще не знакомы) http://www.informit.com/articles/article.aspx?p=1405546

...