7 python indexing pyqt4 qcombobox
在我的函数中,我有一个空值的字典:
self.items = {
'Maya Executable': '',
'Render': '',
'Mayapy Interpreter': '',
'imgcvt': '',
'IMConvert': '',
}
Run Code Online (Sandbox Code Playgroud)
我应该如何设置"Maya Executable"(即第0个键)作为加载时选择的QComboBox的默认项?
我试过了:
self.appExeCB=QtGui.QComboBox()
self.appExeCB.setCurrentIndex(0)
self.appExeCB.addItems(self.items.keys())
Run Code Online (Sandbox Code Playgroud)
但是这没有设置默认值:-(
Python 字典没有排序。self.items.keys()[0] 每次可能返回不同的结果。要解决您的问题,您应该先添加项目,然后将“Maya Executable”的索引从 self.items.keys() 传递到 self.appExeCB.setCurrentIndex:
self.appExeCB=QtGui.QComboBox()
self.appExeCB.addItems(self.items.keys())
self.appExeCB.setCurrentIndex(self.items.keys().index('Maya Executable'))
Run Code Online (Sandbox Code Playgroud)
请注意,这不会按照您在 self.items 中声明的顺序将 QComboBox 中的项目放入,因为如前所述,Python Dictionaries 未排序。