c++ - 如何设置 QScrollArea 的初始大小?

标签 c++ qt scroll widget

我知道这是一个非常具体的 C++ 和 Qt 相关问题,但无论如何也许有人可以帮助我......

请参阅下面的代码:我想在滚动区域内显示图像。滚动区域的视口(viewport)应具有定义的初始大小。这意味着,如果图像的大小大于视口(viewport)的初始大小,则滚动条将可见,否则不可见。

// 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 ) );

应该可以调整整个应用程序的大小,以便视口(viewport)的大小不同于初始大小。

不幸的是,我无法找到如何设置视口(viewport)大小的方法。 Qt 的布局机制似乎为视口(viewport)设置了默认大小,但到目前为止我无法更改它。使用

设置新尺寸
area->setMinimumSize( QSize( 300, 300 ) );

实际上会设置所需的大小,但随后滚动区域将无法调整为小于 300x300 的大小。

有什么想法吗?

最佳答案

我认为您看问题的方式不对。 QScrollArea 只是一个放置在框架或 QMainWindow 中的小部件。小部件的大小由包含它的小部件的布局控制。

看看来自 Trolltech 的这个例子:Image Viewer Example

关于c++ - 如何设置 QScrollArea 的初始大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/241144/

相关文章:

swift - 使用垂直无限滚动显示 UICollectionView 中的需求单元格

c++ - 谷歌测试检查 float 不等于

javascript - 滚动 Div 到特定位置

python - 使用 C++ 和 Python 在 OpenGL 中进行资源管理

c++ - 如何在 QFileDialog 上设置选定的过滤器?

c++ - 在 QTabWidget 中动态设置单个选项卡的样式

c++ - QWebView可以从Qt资源文件加载* .js并运行它们吗?

android - 为 Android 应用程序设计一组 "guiding screens"的最佳方法是什么?

c++ - 无法确定为什么函数调用中从 char* 到 char 的无效转换

c++ - map 运算符 < 条件 - 无效比较器