我在QTDesigner QDialog表单上有一个组合框,我想填写CSV文件中列的内容。我调用组合框的调用并构建了从CSV中提取值的函数,但组合框不会随信息更新。
self.optStates.currentIndexChanged.connect(self.selectState)
def selectState(self):
with open('States.csv') as csvDataFile:
csvReader = csv.DictReader(csvDataFile, delimiter=',')
states = []
states.extend([row['state'] for row in csvReader if row['state']])
其他代码已被省略,但对话框的其余部分工作正常。
答案 0 :(得分:0)
currentIndexChanged
是您选择QComboBox
选项时触发的信号,因为QComboBox
中没有项目,它永远不会开火,除此之外不需要在这种情况下使用它。你必须做的是使用addItems()
方法
def __init__(self, another_arguments):
#
# some code
#
with open('States.csv') as csvDataFile:
csvReader = csv.DictReader(csvDataFile, delimiter=',')
states = [row['state'] for row in csvReader if row['state']]
self.optStates.addItems(states)