title: How do I insert data from file in the first column of a qtablewidget or qtableview?
body: <p>I would like to insert a list of users from a file into the first row of a tablewidget or tableview. I am currently trying it out with a tablewidget. So far, the code below is what I came up with after having seen the answer from <a href="https://stackoverflow.com/questions/32458111/pyqt-allign-checkbox-and-put-it-in-every-row">this</a> post. Basically if you look at the image, I'm trying to do exactly that then later I'll add an ok button to perform the actions.</p>
  
  <p><a href="https://i.stack.imgur.com/E9WNa.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/E9WNa.png" alt="todo"></a></p>
  
  <pre><code>from PyQt4 import QtGui, QtCore
  
  class Window(QtGui.QWidget):
      def __init__(self, rows, columns):
          QtGui.QWidget.__init__(self)
          self.table = QtGui.QTableWidget(rows, columns, self)
          self.table.setHorizontalHeaderItem(0, QtGui.QTableWidgetItem("Users"))
          self.table.setHorizontalHeaderItem(1, QtGui.QTableWidgetItem("Delete User"))
          self.table.setHorizontalHeaderItem(2, QtGui.QTableWidgetItem("Delete User and Home"))
          self.table.verticalHeader().hide()
          header = self.table.horizontalHeader()
          header.setStretchLastSection(True)
          for column in range(columns):
              if column == 0:
                  with open("users") as input:
                      if input is not None:
                          users = input.readlines()
                      for line in users:
                          users = QtGui.QTableWidgetItem(line)
                          print line
                      input.close()
              for row in range(rows):
                  if column % 3:
                      item = QtGui.QTableWidgetItem('%d' % column)
                      item.setFlags(QtCore.Qt.ItemIsUserCheckable |
                                    QtCore.Qt.ItemIsEnabled)
                      item.setCheckState(QtCore.Qt.Unchecked)
                      self.table.setItem(row, column, item)
          self.table.itemClicked.connect(self.handleItemClicked)
          layout = QtGui.QVBoxLayout(self)
          layout.addWidget(self.table)
          self._list = []
  
      def handleItemClicked(self, item):
          if item.checkState() == QtCore.Qt.Checked:
              print('"%s" Checked' % item.text())
              self._list.append(item.row())
              print(self._list)
          else:
              print('"%s" Clicked' % item.text())
  
  if __name__ == '__main__':
  
      import sys
      app = QtGui.QApplication(sys.argv)
      window = Window(6, 3)
      window.resize(400, 400)
      window.show()
      sys.exit(app.exec_())
  </code></pre>