如何设置QComboBox的一行的enabled属性?我希望它具有一些禁用的行和一些启用的行。

最佳答案

这是QComboBox的工作示例,其中项1和4(在列表disable中指定)被禁用。我使用了this示例。另请参见setData方法的文档。

from PyQt4 import QtCore, QtGui
import sys

class Foo(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)

        items = ['foo', 'bar', 'yib','nuz', 'pip', 'rof']
        cb = QtGui.QComboBox(self)
        for i in items:
            cb.addItem(i)

        disable = [1,4]
        for i in disable:
            j = cb.model().index(i,0)
            cb.model().setData(j, QtCore.QVariant(0), QtCore.Qt.UserRole-1)

if __name__ == "__main__":
    app = QtGui.QApplication([])
    foobar = Foo()
    foobar.show()
    sys.exit(app.exec_())

关于python - PyQt设置QComboBox行的enabled属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11099975/

10-16 08:14