def _updateList(self): #reload the new devices devices = [] if self._FEfilter: #filter device list -- there is probably a cleaner/faster way to do this showDevs = [] for k, v in self._filterCBs.items(): if v.isChecked(): showDevs.append(k) for d in self._knownDevices: if 'frontend' in d: for s in showDevs: if s in d['frontend']: devices.append(d) elif 'Other' in showDevs: devices.append(d) else: devices = self._knownDevices self._selectButton.setEnabled( False) #the clear clears the selection(s) self._list.clear() for device in devices: i = QListWidgetItem(device['label']) i.device = device self._list.addItem(i)