Есть ли способ ограничить количество элементов, которые может иметь мой QTreeWidget, подобно буферу FIFO?
Ограничьте количество элементов в QTreeWidget
Ответы (1)
Я все еще не совсем уверен, что именно вы хотите реализовать. Но вот несколько общих советов.
Если вы хотите получить настраиваемые ограничения и поведение для взаимодействия виджета с базовой структурой данных, вам следует подумать о том, чтобы следовать архитектуре представления модели Qt.
Любой множественный элемент, отображающий QWidget, может быть заменен QView + QModel. Например, вы можете заменить QTreeWidget
на QTreeView
. Затем вы реализуете свою собственную модель, полученную из QAbstractItemModel
, и прикрепляете ее к представлению. Представления будут автоматически адаптироваться к изменениям, внесенным в модель. Таким образом, вы могли бы, например, иметь контейнер в классе модели, и всякий раз, когда элемент добавляется, вы проверяете, достигнуто ли максимальное число, а затем удаляете любой другой элемент.
Эти руководства помогут вам лучше понять, что я предлагаю. Я знаю, что это C++, но все это должно быть легко переведено на pyqt.