Ограничить количество элементов в QTreeWidget

Есть ли способ ограничить количество элементов, которые может иметь мой QTreeWidget, подобно буферу FIFO?

1 ответ

Решение

Я до сих пор не совсем уверен, что именно вы хотите реализовать. Но вот несколько общих советов.

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

Любой элемент, отображающий QWidget, может быть заменен на QView + QModel. Вы могли бы, например, заменить QTreeWidget с QTreeView, Затем вы реализуете свою собственную модель, полученную из QAbstractItemModel и прикрепить его к виду. Представления будут автоматически адаптироваться к изменениям, сделанным в модели. Таким образом, вы можете, например, иметь контейнер в классе модели, и всякий раз, когда добавляется элемент, вы проверяете, достигнуто ли максимальное число, а затем удаляете любой другой элемент.

Эти учебники дадут вам более глубокое понимание того, что я предлагаю. Я знаю, что это C++, но все это должно быть легко переведено на pyqt.

Другие вопросы по тегам