【问题标题】:Adding a QFrame to a QGridLayout that is inside a QScrollArea breaks scrolling将 QFrame 添加到 QScrollArea 内的 QGridLayout 会中断滚动
【发布时间】:2024-01-02 12:34:01
【问题描述】:

我正在开发一个需要基于窗口大小的可滚动 QGridLayout 的 GUI。我的解决方案是将其嵌套在 QScrollArea 中。只要我只将标准小部件添加到 QGridLayout,它就可以工作。

当我切换到将小部件添加到 QFrame,然后像之前一样将该框架添加到网格布局时,网格布局不再滚动,而是根据需要压缩网格布局的所有行以将它们全部包含在内。

这是为什么?有没有解决方法或不同的方法来做到这一点?我应该提到我使用 QFrame 的唯一原因是对在将小部件添加到网格布局时创建的“单元格”的背景进行样式化。

【问题讨论】:

    标签: qt qt4 pyqt pyqt4 qscrollarea


    【解决方案1】:

    如果您的小部件未通过其size hints and size policies 声明适当的最小尺寸,则会发生这种情况。

    【讨论】:

    • 谢谢,这引导我朝着正确的方向前进。为了将来参考,我只是在有问题的框架上使用了 .setMinimumSize(width, height)。
    最近更新 更多