1

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

替代文字

这是我用文件填写此表单的方法。

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 吗?

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

任何代码建议?

谢谢你们!

4

1 回答 1

3

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

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

不过,我建议看看QFileSystemModel. 根据您尝试对应用程序执行的操作,此类可能会派上用场:您可以使用此模型并将其显示在视图小部件中。

QFileSystemModel带有诸如remove()之类的方法,并且还将处理文件重命名。

于 2010-11-19T06:36:15.380 回答