将组件添加到子小部件后调整 QDialog 的大小

Posted

技术标签:

【中文标题】将组件添加到子小部件后调整 QDialog 的大小【英文标题】:Resizing a QDialog after adding components to a child widget 【发布时间】:2011-10-18 23:29:31 【问题描述】:

我对 QT 有点陌生,但必须处理现有代码。情况如下: 我有一个扩展 QDialog 的类。构造函数设置一个 QGridLayout 然后向它​​添加三个其他小部件。其中一个小部件是包含 QGroupBox 的 QScrollArea。这个 QGroupBox 有一个 QVBoxLayout ,我在运行时添加了一个小部件列表。在显示滚动条之前,滚动区域的大小应该增长直到达到给定的限制,以便仅在对话框变得太高时使用它们。我发现滚动区域的 sizeHint 更新时,外部布局的 sizeHint 不会更新。如何刷新它,或者有更好的方法来调整父对话框的大小?

【问题讨论】:

【参考方案1】:

如何使用 QScrollArea 的 widgetResizable 属性?它应该尝试调整视图大小以避免使用 scorllbars。

【讨论】:

以上是关于将组件添加到子小部件后调整 QDialog 的大小的主要内容,如果未能解决你的问题,请参考以下文章

隐藏子小部件时,QGridLayout 未调整大小或重新绘制

如何在点击外部关闭 QDialog 并在点击子小部件时关闭?

在可扩展浮动操作按钮中,在颤动中未检测到子小部件中的手势

如何将 QStackedWidget 大小设置为子小部件的最小尺寸?

Qt5 paintEvent 传播到子小部件

Pyqt QMdiSubWindow 使用可变数量的小部件调整大小