PYQT Qcombobox establece el valor seleccionado a una variable

Tengo un combox y quiero agregar el valor seleccionado en el cuadro a una variable. La variable. Probé algunas cosas de la documentación y solo tuve éxito en establecerlo en un Qlabel. Cualquier ayuda por favor

self.languageLbl = QtGui.QLabel("Download_IVR", self) comboBox = QtGui.QComboBox(self) comboBox.addItem("IVR_ITALY") comboBox.addItem("IVR_FRANCE") comboBox.addItem("IVR_SPAIN") comboBox.addItem("IVR_GERMANY") comboBox.move(650, 250) comboBox.resize(150,40) self.languageLbl.move(650,150) comboBox.activated[str].connect(self.languageChoice) def download_button(self): ivrLang = self.comboBox.currentText() 

Quiero establecer ivrLang en el elemento seleccionado en el cuadro combinado. ¡Gracias!

No estás conectando tu señal a tu función de callback. Necesitas:

 self.combobox.activated[str].connect(self.download_button) 

Y el botón de descarga debería verse como:

 def download_button(self, text): irvLang = text 

Tenga en cuenta que todavía no ha hecho nada con esa variable irvLang .

También sería prudente hacer el comboBox y el atributo de su clase usando self :

 self.comboBox = QtGui.QComboBox(self) 

EDITAR: Aquí hay un ejemplo completo que hace lo que parece querer.

 from PyQt4 import QtGui class MainWindow(QtGui.QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.cb = QtGui.QComboBox(self) self.cb.addItem("One") self.cb.addItem("Two") self.cb.activated[str].connect(self.selected) def selected(self, text): self.selected_text = text print self.selected_text app = QtGui.QApplication([]) mw = MainWindow() mw.show() app.exec_() 

Terminé configurando ivrLang a un Qlabel. Entonces, cuando se muestra la QLabel, la variable se establece en el texto de la QLabel. De esa forma obtendré la Etiqueta, y la variable al mismo tiempo. Quizás no sea la mejor manera de hacerlo, pero funciona.

  def languageChoice(self, text): self.languageLbl.setText(text) def download_button(self, text): directoryUser = self.directory ivrNum = self.lblNumber.text() username = self.userName.text() ivrLang = self.languageLbl.text()