Qtでの文書化されていないクラスの使用について

Qtでドキュメント化されていない QObjectUserData クラスと QObject :: setUserData クラスを使用するのは安全ですか?

9
それはQt 4.2の残りの部分ですか?私は4.7のような新しいバージョンのQtを使うことを勧めます。あなたはそれをどうしたいのですか?
追加された 著者 Morten Kristensen,

3 答え

一般に、文書化されていないAPIに頼るべきではありません。 Qtのアップグレードを計画しているなら、それを使用しないでください!

9
追加された

ドキュメント化されていないクラスは通常、内部クラスであり、Qt APIの一部ではありません。つまり、次のQtバージョンでAPIが変更されない、またはクラスが完全に削除されるという保証はありません。たとえば、qobject_p.hには次の警告が含まれています。

//  W A R N I N G
//  -------------
//
// This file is not part of the Qt API.  It exists for the convenience
// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp.  This header
// file may change from version to version without notice, or even be removed.
//
// We mean it.

したがって、内部APIを使用している場合は、あなた自身であり、次のQtバージョンに切り替えるときに行っていたことを修正/再実装する必要があります。

4
追加された