PyQt5 QComboBox in QTableWidget
<p>I have really tried everything to solve my problem but it doesn't work.
Here is my simple code to put Comboboxes in each row of the table. It actually works for setItem(), which I use to put strings into each row. But it doesn't work with setCellWidget(), which I have to use to put the Combobox into the rows. It is as if setCellWdiget() deletes the combobox after putting it into the row because it finally appears only in the very last row, which I don't get why.
It would be great if somebody of you could help me out. Many thanks in advance! </p>

<p>Here is the code:</p>

<pre><code>import sys
from PyQt5 import QtWidgets, QtCore

class Window(QtWidgets.QMainWindow):

    def __init__(self):
        super(Window, self).__init__()
        self.setGeometry(50,50,500,500)
        self.setWindowTitle('PyQt Tuts')
        self.table()


    def table(self):

        comboBox = QtWidgets.QComboBox()

        self.tableWidget = QtWidgets.QTableWidget()
        self.tableWidget.setGeometry(QtCore.QRect(220, 100, 411, 392))
        self.tableWidget.setColumnCount(2)
        self.tableWidget.setRowCount(5)
        self.tableWidget.show()

        attr = ['one', 'two', 'three', 'four', 'five']
        i = 0
        for j in attr:
            self.tableWidget.setItem(i, 0, QtWidgets.QTableWidgetItem(j))
            self.tableWidget.setCellWidget(i, 1, comboBox)
            i += 1


def run():
    app = QtWidgets.QApplication(sys.argv)      
    w = Window()
    sys.exit(app.exec_())      

run()
</code></pre>

<p>You create a single combo box, so when you put it into a cell, it is removed from the prevoius cell.
You must create a combo box for each cell (in the <code>for</code> loop).</p>

<p>Example:</p>

<pre><code>attr = ['one', 'two', 'three', 'four', 'five']
i = 0
for j in attr:
    self.tableWidget.setItem(i, 0, QtWidgets.QTableWidgetItem(j))
    comboBox = QtWidgets.QComboBox()
    self.tableWidget.setCellWidget(i, 1, comboBox)
    i += 1
</code></pre>

python qt pyqt5 qtablewidget qcombobox