我知道这是一个非常特定的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的能力。
有什么想法吗?