Впервые в pyQt я пытаюсь заполнить Qcombobox списком элементов, а затем получить текст, выбранный пользователем. Все работает нормально, за исключением того, что, когда срабатывает сигнал CurrentIndexChanged, я не могу получить индекс выбора, но не текст, с .currentText () в моем методе, потому что у меня есть ошибка, сообщающая, что я не могу вызвать мой виджет в методе. Python не распознает мой QCombobox в методе, поэтому я не могу использовать .currentText () и не могу понять почему.
Спасибо!
См. Мой код ниже .
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.setWindowTitle("Votre territoire")
layout = QVBoxLayout()
listCom = self.getComINSEE()
cbCommunes = QComboBox()
cbCommunes.addItems(listCom)
cbCommunes.currentIndexChanged.connect(self.selectionChange)
layout.addWidget(cbCommunes)
cbCommunes = QWidget()
cbCommunes.setLayout(layout)
self.setCentralWidget(cbCommunes)
def getComINSEE(self):
# some code to fill my list com
return com
def selectionChange(self, i):
# Error : unhandled AttributeError "'MainWindow' object has no attribute 'cbCommunes'"
texte = self.cbCommunes.currentText()
print(f"Index {i} pour la commune {i}")
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec()