これは非常に具体的なC++およびQt関連の質問であることは知っていますが、とにかく誰かが私を助けることができるかもしれません...
以下のコードを参照してください: スクロール領域内に画像を表示したいです。スクロール領域のビュー ポートには、定義済みの初期サイズが必要です。つまり、画像のサイズがビュー ポートの初期サイズよりも大きい場合はスクロール バーが表示され、それ以外の場合は表示されません。
// create label for displaying an image
QImage image( ":/test.png" );
QLabel *label = new QLabel( this );
label->setPixmap( image.toPixmap() );
// put label into scroll area
QScollArea *area = new QScrollArea( this );
area->setWidget( label );
// set the initial size of the view port
// NOTE: This is what I'd like to do, but this method does not exist :(
area->setViewPortSize( QSize( 300, 300 ) );
ビューポートが最初のサイズとは別のサイズになるように、アプリケーション全体のサイズを変更できます。
残念ながら、ビューポートのサイズを設定する方法を見つけることができませんでした。Qt のレイアウト メカニズムでは、ビュー ポートのデフォルト サイズが設定されているようですが、これまでは変更できませんでした。で新しいサイズを設定する
area->setMinimumSize( QSize( 300, 300 ) );
実際に要求されたサイズを設定しますが、スクロール領域は 300x300 より小さいサイズにサイズ変更する機能を失います。
何か案は?