Source code for optimeed.visualize.widgets.widget_listWithSearch
from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSlot
[docs]class Widget_listWithSearch(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
layout_widget = QtWidgets.QVBoxLayout(self)
layout_widget.setContentsMargins(0, 0, 0, 0)
self.myListWidget = QtWidgets.QListWidget()
self.search_plot_data = QtWidgets.QLineEdit()
# self.search_plot_data.setTabChangesFocus(True)
self.layout().addWidget(self.search_plot_data)
self.layout().addWidget(self.myListWidget)
self.search_plot_data.textChanged.connect(self._filter_list)
[docs] def set_list(self, names):
self.myListWidget.clear()
for name in names:
self.myListWidget.addItem(name)
[docs] def _filter_list(self):
text = self.search_plot_data.text()
for item in self._iter_items():
if text in item.text():
item.setHidden(False)
else:
item.setHidden(True)
# print(text)
[docs] def _iter_items(self):
for i in range(self.myListWidget.count()):
yield self.myListWidget.item(i)