Моя программа извлекает данные из жестко запрограммированного словаря, а также добавляет их из .csv, поэтому, когда я выбираю фамилию в своем lineEdit, два других поля ввода заполняются соответствующим адресом электронной почты и номером телефона.
Когда я нажимаю на строку lineEdit и начинаю вводить имя, функция автозаполнения не активируется.Если я нажимаю клавишу ввода после ввода имени, которое существует в моем словаре, вся моя программа падает.Однако, если я сначала выберу раскрывающийся список и выберу произвольное имя, оно активирует автозаполнение, и я могу ввести любое другое имя, найти его и нажать клавишу ввода, чтобы заполнить другие поля.
словарь:
autocompleteList2 = {
' ': [' ', ' '],
'Adams': ['Adams@gmail.com', '555-555-5555'],
Как я манипулировал другими моими входами:
class Window(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, cList):
super().__init__()
self.setupUi(self)
self.cList = cList
self.Input_7.addItems(sorted(cList.keys()))
self.Input_7.activated[str].connect(self.onActivatedText)
@QtCore.pyqtSlot(str)
def onActivatedText(self, text):
self.Input_8.setText(self.cList[text][0])
self.Input_9.setText(self.cList[text][1])
Словарь, связанный:
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = Window(autocompleteList2)
w.show()
app.setStyle('Fusion')
palette = QtGui.QPalette()
Как я могу получить автозавершить активацию, как только я нажму на Input_7 (lineEdit)?