QObject :: children()メソッドがqobjectの子を含むQObjectListへのconst参照を返すことに気づきました。constnessを捨てて、qSortでリストをソートするのは安全ですか?
ありがとうアントン
いいえ、これを行うべきではありません。これはQObject::children()の定義です:
inline const QObjectList &children() const { return d_ptr->children; }
これは、内部オブジェクトリストの参照を直接取得することを意味します。そして、ドキュメントには次のように書かれています。
QWidgetの子を上げたり下げたりすると、リストの順序が変わることに注意してください。上げられたウィジェットがリストの最後のオブジェクトになり、下げられたウィジェットがリストの最初のオブジェクトになります。
このリストを台無しにするのは悪い考えのようです。
多分。しかし、なぜそれを危険にさらすのですか?QObjectList
をコピーしてローカルコピーを並べ替えることはできませんか?