在使用QFileDialog 这个对象的时候,打开的窗口多选文件时,比较难选,没有全选的功能。这个让我很头疼,还有个问题就是如果不想让它进入其他的目录查看文件,又是如何处理呢?昨天花了一个下午专门研究这两个问题。
关于全选的问题只能通过自己定制窗口了,不能直接使用这个标准的控件,至于不允许进入其他的目录(比如根目录),这个可以实现,当然还可以进入当前目录下的子目。
设置左边的栏显示文件夹和禁止进入根目录的处理方法如下:
QList<QUrl> urls;
urls << QUrl::fromLocalFile("/mnt/hgfs/music");
filesDialog = new QFileDialog(this);
connect(filesDialog, SIGNAL(directoryEntered( const QString & )), this, SLOT(setCurrentDir( const QString & )));
filesDialog->setSidebarUrls(urls);
filesDialog->setFilter("Mp3(*.mp3)");