C++ Qt:从QListWidget和计算机中删除项目

C++ Qt:从QListWidget和计算机中删除项目,c++,qt,qlistwidget,C++,Qt,Qlistwidget,我想从QListWidget和计算机中删除一个项目 我知道如何使用以下方法从计算机中删除项目: listWidget->takeItem(listWidget->row(listWidget->currentItem())); 但是我不知道如何从计算机上删除这些项目。我使用如下路径添加它: listWidget->addItem(new QListWidgetItem(QIcon("\\..\\..\\...jpg"),"xxxxxxxx")); 因此,我认为如果我们

我想从QListWidget和计算机中删除一个项目

我知道如何使用以下方法从计算机中删除项目:

listWidget->takeItem(listWidget->row(listWidget->currentItem()));
但是我不知道如何从计算机上删除这些项目。我使用如下路径添加它:

listWidget->addItem(new QListWidgetItem(QIcon("\\..\\..\\...jpg"),"xxxxxxxx"));
因此,我认为如果我们得到项目的路径,就有可能删除它。 问题是我不知道如何获取项目的路径。 我试过这个:

QFileInfo info(listWidget->currentItem()->icon().name());
QString str= info.absoluteFilePath();
或者这个:

QFileInfo info(listWidget->currentItem()->text());
QString str= info.absoluteFilePath();
但是在添加项目时,我只选择名称文件xxxxxxxx的路径。此路径位于生成文件夹/../…Desktop\u Qt\u 5\u 2\u 0\u MSVC2010\u 32位\u OpenGL-Debug中


有人知道如何从计算机中删除项目吗?

您甚至需要完整路径吗?我的意思是,你放在QListWidget中的所有文件名都在应用程序当前的工作文件夹中。我指的是一个简单的QDir目录;dir.removefilename;如果文件在当前工作文件夹中,则应该可以工作。您可以在添加项目时设置ay userData,例如-项目的完整路径。并在需要删除真实文件时使用。谢谢您的回答。不幸的是,文件可以放在任何地方。所以是的,我需要完整的路径。我需要在listWidget->addItemnew QListWidgetItemQIcon\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\..jpg,xxxxxxxx;行发送的路径\\;。但是我不知道可能还有其他的解决方案。然后你需要在QListWidget中存储完整的路径。用户数据就是这样做的。或者所有文件都有一个图标,它位于包含该文件的文件夹中?因此,您将获得带有图标文件名的路径,并将该文件名附加到该路径。