两个不同的.csv文件中的两个自动完成输入数据库。我如何让它们同时工作?

2024-09-27 02:17:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我的第一个数据库依赖于以下代码:

    autocompleteList3 = {
'': ['','','','','','','','','','','','','','','','','',''],
    'two': ['3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', 'test55'],
    'one': ['3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', '3332', '234234', 'test55', 'test55'],
}


with open('boxes2.csv', mode='r') as csv_file:
    csv_reader = csv.reader(csv_file)
    for row in csv_reader:
        autocompleteList3[row[0]] = [row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19]]

这是我的自动完成功能:

class Window(QtWidgets.QMainWindow, Ui_MainWindow):        
def __init__(self, cList):
    super().__init__()

    self.setupUi(self)                                 

    self.cList = cList
    self.Input_5.addItems(sorted(cList.keys())) 
    self.Input_5.activated[str].connect(self.onActivatedText2)


@QtCore.pyqtSlot(str)
def onActivatedText2(self, text):
    self.Input_19.setText(self.cList[text][0])
    self.Input_29.setText(self.cList[text][1])
    self.Input_30.setText(self.cList[text][2])
    self.Input_18.setText(self.cList[text][3])
    self.Input_15.setText(self.cList[text][4])
    self.Input_14.setText(self.cList[text][5])
    self.Input_13.setText(self.cList[text][6])
    self.Input_25.setText(self.cList[text][7])
    self.Input_20.setText(self.cList[text][8])
    self.Input_21.setText(self.cList[text][9])
    self.Input_22.setText(self.cList[text][10])
    self.Input_24.setText(self.cList[text][11])
    self.Input_26.setText(self.cList[text][12])
    self.Input_28.setText(self.cList[text][13])
    self.Input_23.setText(self.cList[text][14])
    self.Input_27.setText(self.cList[text][15])
    self.Input_31.setText(self.cList[text][16])
    self.Input_32.setText(self.cList[text][17])
    self.Input_33.setText(self.cList[text][18])

当我选择一个特定的文本框/下拉列表,并选择一个特定的值时,其余的输入将填充。我需要能够在那里加载另一个.csv,并将其分配给不同的QLineEdit

这就是我被困的地方:

if __name__ == '__main__':
    import sys
    app  = QtWidgets.QApplication(sys.argv)
    w = Window(autocompleteList3)
    w.show()
    app.setStyle('Fusion')
    palette = QtGui.QPalette()

autocompleteList3被加载到窗口中,它工作正常。但我不能同时通过自动完成列表4。。。如果我尝试创建w2=Window2(autocompleteList4),我会得到程序的两个GUI。一个带有autocompleteList3,另一个带有autocompleteList4。我怎样才能把他们两个同时放进去


Tags: csvtextselfinputinitdefwindowreader

热门问题