ListView显示不正确的项目

时间:2011-12-04 16:18:12

标签: c++ qt

在我的filterAcceptsRow中定义:

bool  File_List_Proxy::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
    QModelIndex index0 = sourceModel()->index(source_row, 0, source_parent);
    return sourceModel()->data(index0).toString().contains(filterRegExp());
}

和正则表达式只是“* .txt”,当我通过fileDialog选择一个扩展名不正确的文件时,这个文件第一次没有显示,但是第二次选择带有txt扩展名的文件时,两个文件都显示在列表显示。这怎么可能?如何解决?
编辑:

void Line_Counter::setup_mvc_()
{
    proxy_model_->setSourceModel(model_);//model and proxy were initialized already

    QRegExp regex("*.txt");

    proxy_model_->setFilterRegExp("*.txt");
    regex.setPatternSyntax(QRegExp::Wildcard);
    proxy_model_->setFilterRegExp(regex);

    listView->setModel(proxy_model_);
    listView->setSelectionModel(sel_model_);
}

0 个答案:

没有答案