Important: Please read the Qt Code of Conduct -

Display Audio & Video Files In TreeView on Clicking Any Drive (QFileSystemModel)

  • I want to traverse the drives present in my system and search for audio/video files inside it. Basically traverse the sub directories and display the file inside the treeview. I have 2 tree views, One to display System Directories and other to display audio/video files.

    @// Displays System Drives inside TreeView When Application Starts
    void PanasonicViewer::onCamStartup()
    m_SystemModel = new QFileSystemModel(this);
    m_SystemListViewModel = new QFileSystemModel(this);
    ui->DriveView->setModel(m_SystemModel); //Left side TreeView
    ui->DriveListView->setModel(m_SystemListViewModel); //Right Side TreeView

    // regard less how many columns you can do this using for:
    for(int nCount = 1; nCount < m_SystemModel->columnCount(); nCount++)


    //On Clicking The TreeView, it should display Audio and Video files in my another tree view (DriveListView)
    void PanasonicViewer::on_DriveView_clicked(const QModelIndex &index)
    QStringList sDriveFilters;

    QString sPath = m_SystemModel->fileInfo(index).absoluteFilePath();
    m_SystemModel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs );
    m_SystemListViewModel->setFilter( QDir::Files | QDir::NoDotAndDotDot );
    sDriveFilters << "*.aac" << "*.wmv" << "*.avi" << "*.mpeg" << "*.mov" << "*.3gp" << "*.flv" << "*.mp3" ;


    You can notice in the above click event that I have set Filter to selected extensions. This seems to work and displays audio and video files when I click a drive i.e. E:\ but doesnt display the files present inside subfolders. Where am i going wrong?

  • this is the same topic"as this one":

    Please continue in the same thread instead of making new ones.

    I'm closing this one.

Log in to reply