code: def __init__(self, string_list, parent=None):
      super(SearchableComboBox, self).__init__(parent)
  
      self.setFocusPolicy(Qt.StrongFocus)
      self.setEditable(True)
  
      # add a filter model to filter matching items
      self.pFilterModel = QtCore.QSortFilterProxyModel(self)
      self.pFilterModel.setFilterCaseSensitivity(Qt.CaseInsensitive)
      self.pFilterModel.setSourceModel(self.model())
  
      # add a completer, which uses the filter model
      self.completer = QtWidgets.QCompleter(self.pFilterModel, self)
      # always show all (filtered) completions
      self.completer.setCompletionMode(
          QtWidgets.QCompleter.UnfilteredPopupCompletion
      )
      self.setCompleter(self.completer)
  
      # connect signals
      self.lineEdit().textEdited.connect(
          self.pFilterModel.setFilterFixedString
      )
      self.completer.activated.connect(self.on_completer_activated)
  
      # either fill the standard model of the combobox
      self.addItems(string_list)
  
file_path: PandasGUI/pandasgui/widgets/searchable_combobox.py
imports: from PyQt5 import QtCore, QtWidgets
  from PyQt5.QtCore import Qt
label_desc: Use image node_id 1 to create a new SearchableComboBox object from inherited base classes: QtWidgets with example: obj = SearchableComboBox(string_list, parent)