self.connect(self.findEdit, QtCore.SIGNAL("textChanged(const QString&)"),self.dirView.onFilterChanged)
def __init__(self, dataSource):
self.model = QtGui.QFileSystemModel(self)
self.loadExtensionFilter()
self.
model.
setFilter(QDir.
AllDirs|QDir.
Files |
QDir.
NoDotAndDotDot) self.model.setRootPath("/")
self.setModel(self.model)
def onFilterChanged(self,str):
self.filterList.clear()
for ext in self.extFilterList:
self.filterList.append(ext)
else:
self.filterList.clear()
for ext in self.extFilterList:
self.
filterList.
append(QString("*"+ str
) + ext
)
self.model.setNameFilters(self.filterList)
self.connect(self.findEdit, QtCore.SIGNAL("textChanged(const QString&)"),self.dirView.onFilterChanged)
class DirView(QtGui.QTreeView):
def __init__(self, dataSource):
self.model = QtGui.QFileSystemModel(self)
self.loadExtensionFilter()
self.model.setFilter(QDir.AllDirs|QDir.Files | QDir.NoDotAndDotDot)
self.model.setRootPath("/")
self.setModel(self.model)
def onFilterChanged(self,str):
if str==QString(""):
self.filterList.clear()
for ext in self.extFilterList:
self.filterList.append(ext)
else:
self.filterList.clear()
for ext in self.extFilterList:
self.filterList.append(QString("*"+ str) + ext)
self.model.setNameFilters(self.filterList)
To copy to clipboard, switch view to plain text mode
so after i set new Filters by method setNameFilters(), the model is updated, but the treeview did not refresh.
Bookmarks