полная информация о файлах и папках в элементах QSortFilterProxyModel

Я использую QSortFilterProxyModel в QTreeView для изучения всех файлов и папок каталога. Работает нормально. но моя проблема, когда я нажимаю на любой элемент QTreeView. Я не могу получить его информацию, как полный путь. Может кто-нибудь, пожалуйста, скажите мне, как получить его полный путь к файлу.

Спасибо,

0

Решение

Вы можете рассчитать полный путь следующим образом. Сначала вам нужно отследить щелчки мышью на QTreeView с подключением clicked() сигнал в соответствующий слот:

connect(treeview, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onItemClicked(const QModelIndex &));

В вашем слоте вы можете вызвать вспомогательную функцию, которая будет возвращать полный путь к нажатому узлу дерева:

void TreeView::onItemClicked(const QModelIndex &index)
{
QString path = fullPath(index);
// ..
}

QString TreeView::fullPath(const QModelIndex &index)
{
QString path('/');
QModelIndex parent = index;
while (parent.isValid()) {
path.prepend('/' + parent.data().toString());
parent = parent.parent();
}
return path;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]