Получить значение QComboBox из QTableWidget из другого метода, где строки таблицы создаются по нажатию кнопки и получить значение по адресу ячейки

У меня в таблице QTableWidget строки создаются по нажатию кнопки, где внутри ячейки помещаю QComboBox, и хочу получить значение QComboBox из другого метода. Проблема в том, что когда я создаю QComboBox в основном классе окна, у меня при клике не создается несколько QComboBox, а только в последней строке. А когда создаю внутри метода когда нажимаю кнопку могу создать несколько QComboBox, но не могу обратится к QComboBox по адресу ячейки в QTableWidget. Ниже я привел мой код, где строки и стоблцы создаются по клику на кнопку, где я пытался обратится через метод QTableWidget.cellWidget(1, 1), но у меня просто вылетает программа без TraceBack.

import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout


class MyWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__()
        self.centralWidget = QWidget()
        self.setCentralWidget(self.centralWidget)
        self.row_count = 1
        self.table_index = 0

        self.tableWidget = QtWidgets.QTableWidget()
        self.tableWidget.setRowCount(0)
        self.tableWidget.setColumnCount(2)

        self.button = QtWidgets.QPushButton('Добавить строки таблицы')
        self.button_1 = QtWidgets.QPushButton('Вывести значение ячейки')

        self.layout = QVBoxLayout(self.centralWidget)
        self.layout.addWidget(self.tableWidget)
        self.layout.addWidget(self.button)
        self.layout.addWidget(self.button_1)

        self.button.clicked.connect(self.add_cells)
        self.button_1.clicked.connect(self.print_cells)

    def add_cells(self):  # метод для добавления строки и ячеек
        self.tableWidget.setRowCount(self.row_count)
        self.tableWidget.setItem(self.table_index, 0, 
        QtWidgets.QTableWidgetItem('Nokia'))

        combobox = QtWidgets.QComboBox()  # Создаю combobox
        combobox.addItem('Продано')
        combobox.addItem('В наличии')

        self.tableWidget.setCellWidget(self.table_index, 1, combobox)
        self.row_count += 1
        self.table_index += 1

    def print_cells(self):
        print(self.tableWidget.item(0, 0).text())

        print(self.tableWidget.cellWidget(1, 1).text())  # Запрос значения из ComboBox (вылетает ошибка)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

Ответы (1 шт):

Автор решения: Tehnorobot

Чтобы вывести значения из QComboBox, нужен не text(), а currentText():

print(self.tableWidget.cellWidget(1, 1).currentText())
→ Ссылка