我有一个QWidget容器(实际上是一个QFrame),里面有一些小部件。该容器的内容(子控件的数量和/或大小)可能会动态更改。容器本身在滚动区域中。
通常,根据容器的内容适当调整容器的大小(生长或缩小)。这行得通。
但是,我还需要在此容器上设置一个最小大小,以使其不会收缩太多。也就是说,容器的最小尺寸应为:
max(my_minimum_size, contents_size)
。
这就是问题所在。
如果我使用
container->setMinimumSize(200, 200);
并且内容物的大小大于(200,200),仍然可以将容器的大小调整为(200,200)(与以前不同),容器的内容物大小可以忽略并且会变形或切碎。
是否可以解决此问题?我正在使用Qt 5.9。
更新:此Qt Designer UI file完全显示了我的意思。在容器上设置了minimumSize
,并调整其大小会扭曲按钮。
答案 0 :(得分:0)
我在Qt中心得到了答案:
类似的东西:
QSize MyFrame::minimumSizeHint() const override
{
const QSize baseSize = QFrame::minimumSizeHint();
return baseSize.expandedTo(QSize(200, 200));
}