Вы можете использовать сигнал FileSystemModel
rowsAboutToBeRemoved
(унаследованный от QAbstractItemModel
).
Он будет срабатывать всякий раз, когда строкаснято с модели.Параметры parent
, start
и end
позволяют получить имя файла (в столбце 0 дочерних элементов).
Пример кода:
// once you have your model set up:
...
QObject::connect(model, SIGNAL(rowsAboutToBeRemoved(const QModelIndex&, int, int)),
receiver, SLOT(toBeRemoved(const QModelIndex&, int, int)));
...
// in receiver class:
public slots:
void toBeRemoved(const QModelIndex &parent, int start, int end) {
std::cout << start << " -> " << end << std::endl;
std::cout << parent.child(start, 0).data().typeName() << std::endl;
std::cout << qPrintable(parent.child(start, 0).data().toString()) << std::endl;
}
(Использование std :: cout не является хорошей практикой для Qt, я думаю, это просто для начала.)
Другие aboutToBe...
сигналы от QAbstractItemModel могут использоваться для других событий, происходящих нафайловая система.