Qtで文書化されていないQObjectUserData
クラスとQObject::setUserData
クラスを使用しても安全ですか?Qtでの文書化されていないクラスの使用について
9
A
答えて
15
代わりにQObject::setProperty
を使用すると、コンパイル時に宣言されたプロパティだけでなく、使用する前に宣言する必要のない動的プロパティも設定できます。これにより、ユーザーデータと同様に、実行時にQObjectに任意の値を添付することができます。
9
一般に、文書化されていないAPIに頼るべきではありません。 Qtのアップグレードを計画しているなら、それを使用しないでください!
4
通常、文書化されていないクラスは内部クラスであり、Qt APIの一部ではありません。つまり、次のQtバージョンでAPIが変更されない、またはクラスが完全に削除されるという保証はありません。だから、
// 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のバージョンに切り替える際、あなたがやっていたものは何でも再実装/修正する必要がある場合があります。たとえば、qobject_p.hは、次の警告が含まれています。
関連する問題
- 1. 文書化されていないメンバー
- 2. Doxygen文書化されていない文字列の値
- 3. 文書化されていないExcelの数式構文? = Rx:Ry
- 4. 文書化されていないpathlib.Path.absolute()メソッドを使用できますか?
- 5. 文書化されていないiPhone SDKの機能を使用していますか?私のアプリで
- 6. 文書化されていないOpen Graphコールのステータス?
- 7. VS2010ソリューションで文書化されていないコードメンバーを見つける
- 8. 内部クラスを文書化していないDoxygen(C#)
- 9. 文書化されていないString.compareTo(ヌル)NPE?
- 10. PB - 文書化されていないcolumn.computeプロパティ
- 11. 文書化されていない関数パラメータを表示
- 12. 文書化されていない既存のプロジェクトでの作業方法は?
- 13. メタタイプ辞書に格納されているクラスのインスタンス化
- 14. Angularの文書化されていない機能は何ですか?
- 15. 同期中に文書化されていないExchange ActiveSyncのステータス
- 16. mysqlの大文字小文字が使用されていないときに使用されています
- 17. 変数はDoxygenを使用して文書化されていません
- 18. 文字列中の初期化されていない$ _の使用 - mojolicious perl
- 19. Sonar 5.6 - 文書化されていないAPIメトリックからいくつかのファイルを無視するには?
- 20. 定義されていないクラスのisinstanceの使用
- 21. サイズ4の初期化されていない値の使用
- 22. リスト内の初期化されていない値の使用
- 23. NameError:初期化されていない一定のクラス::クラスのすくいタスク
- 24. 文書化されていないWindows組み込みのPDFレンダラ機能?
- 25. 文書化されていないJava Eclipseプロジェクトをマッピングするためのアドバイス
- 26. emberバインディングが文書化されているように動作しない
- 27. "文書化されていないAPI"を使わずにUnknownPersonViewControllerのカスタムペンを作成できますか?
- 28. Swagger(ServiceStack)で正確に文書化されていない汎用型の応答オブジェクト
- 29. 難読化されていないAndroidでProguardを使用
- 30. NameError:初期化されていない一定のクラス名
Qt 4.2の残骸だと思いますか?私は4.7のような新しいバージョンのQtを使うことを勧めます。あなたはそれをどうしたいのですか? –