如何用CSV-fi中的元素填充QComboBox

2024-09-27 00:14:12 发布

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

我在QTDesigner QDialog表单上有一个组合框,我想用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']])

其他代码已被省略,但对话框的其余部分工作正常。在


Tags: 文件csvself信息表单内容rowstate
1条回答
网友
1楼 · 发布于 2024-09-27 00:14:12

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)

相关问题 更多 >

    热门问题