code: def updateCheckState( self ):
          
          checkable = self.isCheckable()
          model     = self.model()
          flags     = Qt.ItemIsSelectable | Qt.ItemIsEnabled
          
          for i in range(self.count()):
              item = model.item(i)
              
              if not (checkable and item.text()):
                  item.setCheckable(False)
                  item.setFlags(flags)
              
              # only allow checking for items with text
              else:
                  item.setCheckable(True)
                  item.setFlags(flags | Qt.ItemIsUserCheckable)
docs: Updates the items to reflect the current check state system.