我用qt designer创建了以下表单。 我添加了一个与QDir和QFileDialog一起使用的Add Files按钮,并将文件加载到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?
这样做的最佳做法是什么?
任何代码建议?
谢谢大家!
答案 0 :(得分:3)
如果您只是列出文件(没有文件夹和子文件夹结构),则不需要QTreeWidget
。
但是,由于您愿意显示文件位置和文件大小,我会使用QTableWidget
(或QTableView
)。
但是,我建议您查看QFileSystemModel
。根据您尝试使用应用程序所做的操作,此类可能会派上用场:您可以使用此模型并将其显示在视图窗口小部件中。
并且QFileSystemModel
附带remove()等方法,并且还会处理文件重命名。