Могу ли я объявить корневой элемент для QAbstractItemModel?

StackOverflow https://stackoverflow.com/questions/1484399

  •  18-09-2019
  •  | 
  •  

Вопрос

Я знаю, что есть возможность установить индекс родительской модели для представления элемента, но я бы хотел сделать это для модели.

Причина довольно проста, я хочу избавиться от этих конструкций:

# PyQt 4.5.4, but this should be similar to Qt.
def insertRows(self, row, count, parent=QModelIndex()):
    if parent.isValid():
        parentNode = parent.internalPointer()
    else:
        parentNode = self.rootNode
Это было полезно?

Решение

Если ваша модель представляет собой плоскую структуру, просто игнорируйте родительский атрибут или используйте QModelIndex() везде, где вам нужно указать parent .Если ваша модель представляет дерево, вы действительно не можете избавиться от опубликованных вами конструкций, потому что кто-то может использовать недопустимый индекс, и вы должны проверить, является ли он допустимым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top