Что удаляет виджет, созданный пользовательским QItemDelegate - PullRequest
1 голос
/ 27 сентября 2010

Работая с Qt ItemViews, виджет редактирования элемента можно изменить с помощью QItemDelegate, который может создавать пользовательский редактор с помощью createEditor. Кто отвечает за удаление экземпляра, созданного делегатом.

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

Ответы [ 2 ]

5 голосов
/ 28 сентября 2010

Хорошо, я проследил это ...

Виджет редактора, созданный подклассом, созданным QAbstractItemDelegate, будет удален после потери фокуса и запуска всей цепочки сигналов, которая задокументирована при делегировании. На самом деле он удаляется через deleteLater() вызов в QAbstractItemView.

Существует концепция постоянного редактора, но я больше не следил за этим

0 голосов
/ 28 сентября 2010

QObjects обычно заботятся о себе, пока их родитель установлен. Когда вы вызываете createEditor() и указываете родителя в первом параметре, родитель позаботится об его удалении.

Соответствующую документацию можно найти здесь , в частности, третий абзац описания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...