使用qt浏览,列出和删除文件

时间:2010-11-19 02:42:09

标签: c++ qt qt4 qt-designer

我用qt designer创建了以下表单。 我添加了一个与QDir和QFileDialog一起使用的Add Files按钮,并将文件加载到listWidget中。

alt text

以下是我的方法,用文件填充此表单。

void RightDoneIt::changeDirectory()
{
/* select a directory using file dialog */
    QString path = QFileDialog::getExistingDirectory (this, tr("Directory"), directory.path());
    if ( path.isNull() == false )
    {
        directory.setPath(path);
        fillList();
    }
}


/*get list of file from given directory and the append it to listWidget */
void RightDoneIt::fillList()
{
    ui->listWidget->clear();
    ui->listWidget->addItems(directory.entryList());



}

我想修改我的代码,以便列出文件名旁边的文件位置和文件大小,并使此删除文件按钮正常工作。

我只是想能够使用ctrl或命令键(对于mac)选择文件,然后按删除从我的列表中删除这些文件。

我是否必须使用QtreeWidget而不是listwidget?

这样做的最佳做法是什么?

任何代码建议?

谢谢大家!

1 个答案:

答案 0 :(得分:3)

如果您只是列出文件(没有文件夹和子文件夹结构),则不需要QTreeWidget

但是,由于您愿意显示文件位置和文件大小,我会使用QTableWidget(或QTableView)。

但是,我建议您查看QFileSystemModel。根据您尝试使用应用程序所做的操作,此类可能会派上用场:您可以使用此模型并将其显示在视图窗口小部件中。

并且QFileSystemModel附带remove()等方法,并且还会处理文件重命名。