码迷,mamicode.com
首页 > 其他好文 > 详细

QTreeView只显示指定驱动器及其目录,隐藏所有兄弟节点

时间:2015-03-11 19:33:18      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    model = new QFileSystemModel;
    //model->setRootPath("/");
    model->setRootPath("d:\\");

    listView = new QTreeView;
    listView->setModel(model);
    listView->show();

    QModelIndex root = model->index("d:\\", 0);

    for (int i=67; i<=90; i++) {
        QChar ch(i);
        QString str(ch);
        str+=":\\";
        qDebug() << str;
        QModelIndex node = model->index(str, 0);
        if (node==root) continue;
        for (int j=1; j<26; j++) {
            //listView->setRowHidden(0, node.parent(), true); // OK
            listView->setRowHidden(j, node.parent(), true); // OK
        }
    }
}

参考:http://bbs.csdn.net/topics/390995283?page=1#post-398965294

我不明白的是,为什么还要写一个for j的内循环。另外使用root.sibling(i,0);得到的节点好像也不起作用。

QTreeView只显示指定驱动器及其目录,隐藏所有兄弟节点

标签:

原文地址:http://www.cnblogs.com/findumars/p/4330572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!