Нужно, чтобы при смене значения QComboBox в QLineEdit вставлялись соответствующие значения.
Закомментированные варианты в changeUserCombo не подходят, так как посылаются сигналы от self.user_edit и self.password_edit, чего мне нужно избежать(сигнал должен отсылаться, когда пользователь вводит данные).
# coding=utf-8 import sys from PyQt4 import QtCore, QtGui class Tuner(QtGui.QWidget): def __init__(self,*args): QtGui.QWidget.__init__(self,*args) self.setWindowTitle(u'Настройка') boxlay = QtGui.QHBoxLayout(self) frame = QtGui.QFrame(self) frame.setFrameShape(QtGui.QFrame.StyledPanel) frame.setFrameShadow(QtGui.QFrame.Raised) gridlay = QtGui.QGridLayout(frame) self.setWindowFlags(QtCore.Qt.Window | QtCore.Qt.MSWindowsFixedSizeDialogHint) user_group = QtGui.QGroupBox(u"Пользователь", frame) user_lay = QtGui.QHBoxLayout(user_group) self.user_combo = QtGui.QComboBox(frame) self.params = {'user1':{'login':'111','password':'1111'},'user2':{'login':'222','password':'2222'}} allUser = [] for user in self.params: self.user_combo.addItem(user) allUser.append(user) user_lay.addWidget(self.user_combo) login = QtGui.QLabel(u"Логин",frame) user_lay.addWidget(login) self.user_edit = QtGui.QLineEdit((self.params[allUser[0]]['login']), frame) user_lay.addWidget(self.user_edit) password = QtGui.QLabel(u"Пароль",frame) user_lay.addWidget(password) self.password_edit = QtGui.QLineEdit((self.params[allUser[0]]['password']), frame) user_lay.addWidget(self.password_edit) self.connect(self.user_combo, QtCore.SIGNAL("currentIndexChanged(QString)"),self.changeUserCombo) self.connect(self.user_edit, QtCore.SIGNAL("textChanged(QString)"), self.changeUserEdit) self.connect(self.password_edit, QtCore.SIGNAL("textChanged(QString)"), self.changePasswordEdit) gridlay.addWidget(user_group,1,0,1,5) boxlay.addWidget(frame) def changeUserCombo(self,value): print value user_email = self.params[str(value)]['login'] user_password = self.params[str(value)]['password'] #self.user_edit.setText(user_email) #self.password_edit.setText(user_password) def changePasswordEdit(self,value): print value def changeUserEdit(self,value): print value app = QtGui.QApplication(sys.argv) window = Tuner() window.show() sys.exit(app.exec_())