【问题标题】:QScrollArea widget auto resize when adding child widgetsQScrollArea 小部件在添加子小部件时自动调整大小
【发布时间】:2012-04-14 00:58:04
【问题描述】:

我有以下结构:

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

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

解决方案:

创建 QLabel 后,我存储它的宽度:

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

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

widget->setFixedWidth(widthSum);

感谢@shobi 的提示!

【问题讨论】:

    标签: qt layout qscrollarea


    【解决方案1】:

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

    resize(sizeHint()) 
    

    【讨论】:

    • hm... 此方法仅适用于第一代 QLabels... 如果我清除小部件的布局并执行相同操作,则它不起作用。也许某处有我的错误。感谢您的回答。 +1。
    猜你喜欢
    • 1970-01-01
    • 2012-05-17
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多