添加子窗口小部件时,QScrollArea窗口小部件会自动调整大小

时间:2012-03-30 10:32:02

标签: qt layout qscrollarea

我有以下结构:

QScrollArea
  - QWidget (with QHBoxLayout)
    - QLabel
    - QLabel
    - QLabel
    ...

使用随机文本自动生成QLabel。 如何自动更改窗口小部件的大小以适合标签? 目前,我只能通过设置固定大小来查看小部件。

解决方案:

创建QLabel后,我存储其宽度:

int widthSum = 0;
for ( ... ){
    ...
    widthSum += label->sizeHint().width();
}

在循环之后,我将固定宽度设置为widget:

widget->setFixedWidth(widthSum);

感谢@shobi的提示!

1 个答案:

答案 0 :(得分:1)

在小部件上使用reSize()方法。

resize(sizeHint())