2010-11-19 35 views
1

我已经用qt designer创建了下面的表单。 我添加了一个添加文件按钮,可以与QDir和QFileDialog一起使用,并将文件加载到listWidget中。用qt浏览,列出和删除文件

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

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

任何代码建议?

谢谢大家!

回答

3

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

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

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

QFileSystemModel自带的方法如remove()也将处理文件重命名。

+0

嗨杰罗姆,我的意思是从列表中删除文件而不是从系统中。 – Sharethefun 2010-11-20 17:23:06