2

私の特定のケースでは、画像を表示するための最良の方法が何であるかを完全に理解することはできません。そのため、ここにいる誰かがいくつかのヒントを持っていることを願っています。

空きスペースに収まるように自動的にサイズ変更された画像を表示したい。私は現在、画像のサイズを変更するvoid resizeEvent(QResizeEvent*)場所を実装するQLabelから派生したクラスを作成することによってこれを行っています。QPixmap::scaled問題は、ウィジェットを小さくしようとするとウィジェットがresizeEventを取得しないため、ウィジェットが拡大された場合にのみ機能することです。画像をウィジェットと同じサイズに設定したので、再度サイズを小さくすることはできませんか?そのために、より小さな画像を作成して、画像の周囲に一種の「境界線」を導入することを試みることができたと思います。これにより、領域を小さくしたときにサイズ変更イベントが発生する可能性があります。何かご意見は?

4

2 に答える 2

0

サイズが変更されるたびにresizeEventが送信されます。拡大してもしなくても構いません。ただし、縮小/拡大時の制約ウィジェットにポリシーと最大/最小サイズを設定できます。したがって、ウィジェットがresizeEventを取得せず、縮小もしない場合は、サイズ ポリシーと最小幅/高さを確認してください。縮小してもresizeEventがない場合は、ロジックにエラーがあると思います。

または、画像の描画にpaintEventを使用し、ウィジェットの幅/高さに QWidget::rect() を使用することもできます。

于 2013-02-19T11:48:01.200 に答える
0

ラベルのサイズ ポリシーを QSizePolicy::Preferred に変更してみてください。

一般的なサイズポリシーをご覧ください。

于 2013-02-19T11:49:34.557 に答える