我有一个字典fields={}
,其中包含一些我在之后命名为Qt comobox对象的字段名称。例如,键combobox1
和combobox2
都包含一个列表,其中包含我想要添加到
fields={}
fields['combobox1']=['value1','someting else']
fields['combobox2']=['bla','another value']
for key,values in fields.items():
for value in values:
Qt_ui. _____key_____ .addItem(value)
最后一行的正确语法是什么,以便____key____被字典中的键替换?我试过了ui.__getattribute__(key).addItem(value)
,但似乎无法发挥作用。任何建议都表示赞赏。
TypeError: 'PySide.QtGui.QComboBox.addItem' called with wrong argument types:
PySide.QtGui.QComboBox.addItem(float)
Supported signatures:
PySide.QtGui.QComboBox.addItem(PySide.QtGui.QIcon, unicode, QVariant = QVariant())
PySide.QtGui.QComboBox.addItem(unicode, QVariant = QVariant())
答案 0 :(得分:1)
事实上问题是在其他地方 getattribute (键)是正确的,但添加的项目需要是一个字符串。无论如何,我认为这是一个有趣的问题,无论如何都会留下帖子。
ui.__getattribute__(key).addItem(str(value))