m0_53276862 2022-11-03 17:39 采纳率: 0%
浏览 35

怎么获得qtableview的行数

我使用qtableview加载QFileSystemModel后通过tableView->model()->rowCount()想要获得某个文件夹的文件数,得到的值却是我的电脑的磁盘数量。
怎样才能得到正确的答案呢?非常感谢。
  • 写回答

2条回答 默认 最新

  • 小憨憨不敢~ 2022-11-04 14:00
    关注

    tableview 怕是无法展开文件系统吧;一般使用的数QTreeView;

    QFileSystemModel *model = new QFileSystemModel;
        model->setRootPath(QDir::currentPath());
        ui->treeView->setModel(model);
    
    void Widget::on_treeView_clicked(const QModelIndex &index)
    {
        QFileSystemModel * mode = qobject_cast<QFileSystemModel*>(ui->treeView->model());
        if(mode->isDir(index)){
            QString path = mode->filePath(index);
            qDebug()<<"路径:"<<path;
            QDir dir(path);
            auto ret = dir.entryList();
            qDebug()<<ret.size();
        }
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 11月3日
  • 创建了问题 11月3日