How do I insert data from file in the first column of a qtablewidget or qtableview?
<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>