code: def data(self, index, role):
          
          if index.column() == 0 and role == QtCore.Qt.DecorationRole:
              if self.isPyz(index):
                  with ZipFile(str(self.filePath(index)), 'r') as myzip:
                      #    print myzip.namelist()
                      try:
                          myzip.extract('icon', self._tmp_dir_work)
                          p = os.path.join(self._tmp_dir_work, 'icon')
                          return QtGui.QIcon(p)
                      except KeyError:
                          pass
          return super(_FileSystemModel, self).data(index, role)
docs: use zipped icon.png as icon