3

QObject :: children()メソッドがqobjectの子を含むQObjectListへのconst参照を返すことに気づきました。constnessを捨てて、qSortでリストをソートするのは安全ですか?

ありがとうアントン

4

2 に答える 2

3

いいえ、これを行うべきではありません。これはQObject::children()の定義です:

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

これは、内部オブジェクトリストの参照を直接取得することを意味します。そして、ドキュメントには次のように書かれています。

QWidgetの子を上げたり下げたりすると、リストの順序が変わることに注意してください。上げられたウィジェットがリストの最後のオブジェクトになり、下げられたウィジェットがリストの最初のオブジェクトになります。

このリストを台無しにするのは悪い考えのようです。

于 2010-12-03T11:37:47.607 に答える
1

多分。しかし、なぜそれを危険にさらすのですか?QObjectListをコピーしてローカルコピーを並べ替えることはできませんか?

于 2010-12-02T22:45:43.320 に答える