对于那些你们谁没有读到我的Qt questoins,我学习Qt的一个项目。我只限于在所有,而不是在与Qt的GUI设计经验。

我已经得到了我想要的一些按钮来填充水平布局。我可以在短短的精饲料这些按钮,但我的原方按钮水平拉伸占用更多的空间。

我想让布局管理器确定最佳的方式来规模这些按钮,但我也希望自己的原始比例保持不变。举例来说,如果我开始也有此需要缩小以适合所有的人都在布局32X32按钮,我想,这样的宽度与高度的规模维持他们按比例缩小。 20X20,16X16,12X12都将是得很好,但24X16将尺寸是不可接受的一个例子。

我修修补补上的按钮和拉伸选项尺寸策略。我没有看到,甚至阅读QPushButton和QHBoxLayout,负责班级如何做到这一点了。它是如何做到的呢?

感谢。

有帮助吗?

解决方案

只要我理解正确的问题,我想你想要的是QBoxLayout::addStretch()。这将添加填充未使用的空间间隔对象。所以按键都会有自己的理想大小和间隔将填补休息。您可以尝试在设计这个实验,它比写/编译/运行周期更容易。

其他提示

您应该看一看答案这个问题。这就是我的回答有一个概括。

您需要创建QLayoutItem的一个自定义的衍生物,其覆盖bool hasHeightForWidth()int heightForWidth( int width )保持纵横比。你既可以通过在按钮和查询,或者你可以只直接设置比例。您还需要确保微件()函数返回一个指针到正确的按钮。

一旦做到这一点,你可以布局项目以同样的方式你将一个小工具添加到布局。所以,当您的按钮被添加,修改,使其能够使用自定义布局的物品类别。

我还没有实际测试的任何的这一点,因此它是在这一点的理论解决方案。我不知道有没有办法做到通过设计师与此解决方案,如果这是需要的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top