次のようなQtでプログラムを書いています:
メイン ウィンドウは、Window : QWidget
私が定義したクラスです。基本的QGridLayout
に 1 行 3 列の があります。ご覧のとおり、最初の列にはメニュー (クラスMenu :QWidget
) が含まれ、2 番目と 3 番目の列にはそれぞれキャンバス (Canvas : QWidget
私が定義したクラス) が含まれています。
サイズがどのように機能するかを理解するのに本当に苦労しています。これまでのところ、メニューの幅を修正するために (ウィンドウのレイアウトで) 最初の列の幅の最小サイズを定義しCanvas
、そのコンストラクターで固定サイズを設定しました (このように: setFixedSize(QSize(size_in_pixels, size_in_pixels));
)。
もちろん、問題は、ユーザーがウィンドウを再スケーリングすると、これがうまく動作しないことです。私がやりたいことは、キャンバスsizeHint
をsize_in_pixels
(私の好みのサイズ)に設定することだと思いますが、これはほとんど不可能のようです。また、キャンバスの高さと幅を常に同じにしたいと考えています。Qt のドキュメントを読んで、いくつか試してみましたが、解決策が思いつきません。
あなたによれば、進むべき道は何ですか?あなたの洞察に感謝します。