My Qtプログラムは、mousePressEventsの座標を見つけ、それらの座標で子ウィジェット(またはウィンドウ)を見つけることによってウィジェットobjectNamesを取得するシステムを使用します。Qt - 座標での 'ビューポート'の下の '実際のウィジェット'を見つける
これはほとんどのウィジェットでは完全に機能しますが、次のウィジェットでは機能しません。
QScrollBox、QTableWidget、QGraphicsView、QTextEdit、QSpinBox。
これらのウィジェット(QSpinBoxを除く)は、objectNameの代わりに 'qt_scrollarea_viewport'を返します。これはおそらく上記の子ウィジェットであるためです。
例:
ジオメトリ(0,0,50,50)のQTextEditがあります。
明らかに座標(10,10)はこのウィジェット上にあります。
しかし、parent.childAt((10,10))
を呼び出すと、QTextEditが返されません。
.objectName()
を呼び出すと、代わりに 'qt_scrollarea_viewport'が表示されます。
20種類のオブジェクト名を持つ20種類のQTextEditがある場合、それらはすべて「qt_scrollarea_viewport」を返します。
QTextEditの実際のobjectNameを取得するにはどうしたらいいですか?グラフィカルな子ウィジェット(これは私が 'viewport'と解釈するものです)ではなく、私はウィジェットの座標を持っていますか?
ありがとうございます!
PyQt4
のPython 2.7.2
のWindows 7