私は実際に qt( container
) inerhiting fromQWidget
でモジュールを作成しています。これには複数plot
の sが含まれてgraph
おり、それらすべてが inerhit from を提示していQWidget
ます。
したがって、次のようになります。
- 1
container
は次のものを持つことができます:- n
plot
s ここで、それぞれに含まれる - 1
graph
.
- n
昨日は、バグを見つけるために多くの時間を費やしました。plot
ペイント イベントをキャッチするために、(デバッグ目的で) コンテナーのコンストラクターに追加された n だけが発生しました。
plot
がすでに構築されている間に同じメソッドによって追加されたすべてのcontainer
は、イベントを受け取ることができませんでした。
後で、私が支援を求めた後、同僚が、私のcontainer
( mainwindow
-form にある) Qtdesigner でレイアウトを割り当てる必要があると説明してくれました。私はそれを試してみましたが、それが私の問題を解決したことに驚きました. 動的に生成された をレイアウトに追加した後plot
、container
すべてのウィジェットが期待どおりにイベントを受信していました。
しかし、私は彼の説明を理解できなかったので、これ以上彼に迷惑をかけたくないので、ここで質問します.
では、動的に生成された他の QWidgets の子オブジェクトである動的に生成されたウィジェットが、mainwindow
割り当てられたレイアウトを持つために子である親を必要とするのはなぜですか? また、これが単なる例外的なケースではない場合、デフォルトで割り当てられていないのはなぜですか?また、そのような問題を抱えているケースをウェブ上で見つけることができなかったのはなぜですか?