qtreeview 测试项目是否可检查

qtreeview test if item is checkable

如何在 python/pyside 的 QTreeview 中测试项目是否可检查?

def set_selected_shots(self, state=None):
    checkstate = QtCore.Qt.Checked if state else QtCore.Qt.Unchecked
    selected_rows = self.ui_shots.selectionModel().selectedRows()

    for idx in selected_rows:
        model = idx.model()

如果您使用 QStandardItemModel 那么您必须使用 itemFromIndex() 方法,如果您提供索引 returns 项目,然后使用 [=13= 检查状态] 方法:

selected_rows = self.ui_shots.selectionModel().selectedRows()
for idx in selected_rows:
    item = idx.model().itemFromIndex(idx)
    if item.isCheckable():
        if item.checkState() == Qt.Checked:
            print("checked")
        else:
            print("unchecked")