動的 QPixmap を含む QLabel を操作する場合、アスペクトを維持しながら空きスペースの変化に対応してラベルのサイズを変更します。画像の比率が難しい場合があります。以下は、サブクラス化を必要としない包括的なソリューションを提供します。
QLabel のサイズ変更
サイズ変更を可能にするには、ラベルに適切なサイズ ポリシー (拡張または最小拡張。これにより、利用可能なスペースに基づいてラベルのサイズが自動的に調整されます。
QPixmap のスケーリング
アスペクト比を維持しながらピックスマップをスケーリングするには、以下を使用できます。次のコード:QPixmap p; // Load the pixmap // Get the dimensions of the label int w = label->width(); int h = label->height(); // Scale the pixmap to fit the label's dimensions while preserving its aspect ratio label->setPixmap(p.scaled(w, h, Qt::KeepAspectRatio));
イベント処理
上記のスケーリング コードを 2 か所に追加します。以上が提供された記事に適合する質問ベースのタイトルをいくつか示します。 * アスペクト比を維持しながら QPixmap を使用して QLabel のサイズを変更するにはどうすればよいですか? * アスペクト比の維持: 動的で QLabel のサイズを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。