Я пытаюсь отфильтровать элементы в списке из выпадающего списка, выбранного пользователем.Вот мой код.
class DirectoryView(QWidget):
def __init__(self):
super().__init__()
self.layout = QHBoxLayout(self)
self.listview = QListView()
self.layout.addWidget(self.listview)
self.setAcceptDrops(True)
self.listview.setSelectionMode(
QtWidgets.QAbstractItemView.ExtendedSelection
)
self.fileModel = QFileSystemModel()
self.listview.setModel(self.fileModel)
self.cb = QComboBox()
self.layout.addWidget(self.cb)
self.cb.currentTextChanged.connect(self.filterClicked)
self.cb.addItem(".mp4")
self.cb.addItem(".gif")
def dragEnterEvent(self, e):
e.accept()
def dropEvent(self, e):
if e.mimeData().hasUrls():
e.accept()
for url in e.mimeData().urls():
print(url)
fname = str(url.toLocalFile())
self.updateDirectoryView(fname)
def updateDirectoryView(self,path):
self.listview.setRootIndex(self.fileModel.setRootPath(path))
def filterClicked(self):
print("todo")
Я хочу фильтровать элементы, когда пользователь меняет опцию выпадающего списка.