code: def set_widgets(self):
          
          self.clear_further_steps()
          purpose = self.parent.step_kw_purpose.selected_purpose()['name']
          subcategory = self.parent.step_kw_subcategory.\
              selected_subcategory()['name']
          self.lstClassifications.clear()
          self.lblDescribeClassification.setText('')
          self.lblSelectClassification.setText(
              classification_question % (subcategory, purpose))
          classifications = self.classifications_for_layer()
          for classification in classifications:
              if not isinstance(classification, dict):
                  classification = definition(classification)
              item = QListWidgetItem(
                  classification['name'],
                  self.lstClassifications)
              item.setData(QtCore.Qt.UserRole, classification['key'])
              self.lstClassifications.addItem(item)
  
          # Set values based on existing keywords (if already assigned)
          classification_keyword = self.parent.get_existing_keyword(
              'classification')
          if classification_keyword:
              classifications = []
              for index in range(self.lstClassifications.count()):
                  item = self.lstClassifications.item(index)
                  classifications.append(item.data(QtCore.Qt.UserRole))
              if classification_keyword in classifications:
                  self.lstClassifications.setCurrentRow(
                      classifications.index(classification_keyword))
  
          self.auto_select_one_item(self.lstClassifications)
docs: Set widgets on the Classification tab.