PyQt:可检查项目的QComboBox:未显示复选框

时间:2016-05-18 12:15:25

标签: python qt pyqt

我正在尝试使用可检查项目制作QComboBox。我创建了一个自定义模型,我的QComboBox对象使用该模型(通过setModel()方法)。

我尝试使用此问题中提供的解决方案:https://stackoverflow.com/a/8423904

这是我的自定义模型:

class FilterModel(QStandardItemModel):

    def __init__(self, filter_list, parent=None):
        super(FilterModel, self).__init__(parent)

        for index, filter in enumerate(filter_list):
            item = QStandardItem(filter)
            item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
            item.setData(Qt.Unchecked, Qt.CheckStateRole)

            self.setItem(index, 0, item)

当我实例化我的模型时,我将项目作为列表传递给构造函数。

但是,我的项目既不可选也不可检查(甚至没有显示复选框)。

1 个答案:

答案 0 :(得分:0)

我不知道为什么复选框没有显示,但是对于要选择的项目,您还需要包含Visual Basic标记。

无论如何,为什么不试试Qt.ItemIsSelectable方法呢?像这样:

QStandardItem.setCheckable