Сортировка QObject детей - PullRequest
       17

Сортировка QObject детей

3 голосов
/ 03 декабря 2010

я заметил, что метод QObject :: children () возвращает константную ссылку на QObjectList, который содержит дочерние элементы qobject.Будет ли безопасно отбросить константу и отсортировать список с помощью qSort?

Спасибо Антон

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Нет, вы не должны этого делать.Это определение QObject :: children ():

inline const QObjectList &children() const { return d_ptr->children; }

Это означает, что вы напрямую получаете ссылку на внутренний список объектов.И документация гласит:

Обратите внимание, что порядок списка изменяется, когда дочерние элементы QWidget поднимаются или опускаются.Поднятый виджет становится последним объектом в списке, а опущенный виджет становится первым объектом в списке.

Плохо было бы возиться с этим списком.

1 голос
/ 03 декабря 2010

Может быть. Но зачем рисковать? Разве вы не можете просто скопировать QObjectList и отсортировать локальную копию?

...