我现在已经用Qt布局系统深入工作了两年。在此之后,我遇到了SizePolicies和Layouts问题。我通常找到解决方案,但从来没有真正明白我在做什么。QSizePolicy真正的含义,文档和想法
现在我花了一些时间来尝试正确理解并为他们构建101 GUIDE并从未失败。我发现这条信息的文档中大约一个QWidget的QSizePolicy:
这个属性保存控件的默认布局行为
如果有QLayout管理此控件的孩子,大小 使用由该布局指定的策略。如果没有这样的QLayout,则使用该函数的结果,即 。
例如,我认为如果您有QLabel,并且您将策略设置为水平扩展,垂直固定,那么标签本身就会改变这种方式。 但它根本没有。
在阅读时,我发现它在布局中讨论了ITS CHILDREN。那么它是什么意思呢?标签内没有任何东西,这是为什么它不起作用?
关于在QFrame中插入标签并告诉框架展开... QFrame将展开还是拉伸(取决于同一布局中的其他兄弟窗口小部件)还是将标签展开或拉伸,不是QFrame?
太乱了......
拉伸?如果在添加小部件时设置拉伸10:
layout->addwidget(label, 10, Qt::AlignHCenter);
它也不起作用。
当您添加小部件时拉伸0:采取我告诉您的策略。默认值取决于小部件的类型。类似按钮的小部件已扩展固定。箱状展开式展开...
展宽10意味着:最大增长。
我是对的吗?好。当内部有一个QFrame和一个QLabel时,将展开设置为10,并将其拖到标签上不起作用。
您是否写过该指南? –
不是。仍然没有......但是当我与Qt密切合作时,我收到了所有这些笔记。我应该这样做:( – darkgaze
其实我只是对这个问题做了一些研究,发现QSizePolicy只与sizeHint有关,没有其他的东西!在QT文档中有很多误导......这里是我的笔记:http://www.cofoh .com/layouts-and-sizepolicy-qt –