ある時点で特定の QWidget (または完全な QWindow) 内でレンダリング/表示される特定の Qt オブジェクトのリストを生成することを考えています。
「QObject::children()」によって返されたリストと Qt プロパティの「visible」をトラバースしても、実際には役に立ちません。QWidgets は「visible」を「true」に設定している可能性がありますが、現在の画面レイアウトでは視覚的に公開されていません. たとえば、閉じた QMenu 内の QActions。
実行時にこのような情報にアクセスする他のアイデアはありますか? 現時点では、Qt ソース コードに触れて、レンダリング機能にフックすることがオプションになるのではないかと心配しています...
「多かれ少なかれ」機能しているように見えたのは、現在のウィンドウ内のすべてのポイントを反復する QApplication::widgetAt(QPoint) を使用していることです。しかし、これはリアルタイムアプリケーションには使えないほど遅いです...
動機: 表示される要素のタイプ、面積、および数に基づいて、(Qt-) アプリケーションの複雑さを経時的に「測定」したいと思います。これがかなり複雑な作業であることはわかっています...しかし、ペンと紙は実際には実行可能なオプションではありません;-)