为什么在 Qt Designer 中将小部件添加到从右到左的水平布局?
Why are widgets added to a horizontal layout ordered right to left in Qt Designer?
我刚刚发现了一些我觉得很奇怪的东西 - 这是 QtDesigner 5.6.2 的桌面捕获视频:
我添加了一个水平布局,在其中添加了第一个按钮,它最终居中。然后当我添加第二个按钮时,第二个按钮不知何故在左侧,而第一个按钮在右侧?!
据我所知,当我在 Python Qt 代码中向布局添加内容时,内容最终是从左到右排序的 - 在这里,看起来排序是正确的离开了?!
我找到了这个 quote:
A horizontal layout widget lays out widgets in a horizontal row, from left to right (or right to left, for right-to-left languages)
中央小部件也将 layoutDirection
设置为 LeftToRight
。
我如何"persuade" QtDesigner 以从左到右的顺序在 QHBoxLayout 中绘制小部件?
编辑:将第二个按钮的水平 sizePolicy
设置为固定后(因此布局中有更多 space),结果是 - 在我尝试将其拖动到第一个按钮几次,最后两个按钮最终交换了位置 - 所以我现在按预期的从右到左的顺序排列它们!
但是,对象检查器层次结构没有变化(第一个按钮仍然是布局的第一个子按钮),我也没有注意到任何其他相关的 属性 按钮变化。所以,我仍然不知所措 - QtDesigner 在水平布局排序方面的行为应该是什么?
这似乎是 Designer 界面设置方式的产物。
默认情况下,小部件框位于左侧。所以当你把一个按钮拖到布局上时,它通常会从那一侧进入布局。如果你非常缓慢地拖动按钮,你会看到一旦按钮完全覆盖布局,它就会亮起,并且在其左边缘会出现一条蓝色指示线。所以现在无论你把按钮放在布局中的什么地方,它都会被添加到左边。通常,这一切都发生得如此之快,以至于您不会注意到它。
要将其添加到右侧,您需要将按钮一直拖到上方,直到右侧出现蓝线。或者在布局周围做一个结束运行,然后从右边开始输入。
PS:
Object Inspector 按对象名称排序,因此顺序不一定反映在布局中看到的内容。
我刚刚发现了一些我觉得很奇怪的东西 - 这是 QtDesigner 5.6.2 的桌面捕获视频:
我添加了一个水平布局,在其中添加了第一个按钮,它最终居中。然后当我添加第二个按钮时,第二个按钮不知何故在左侧,而第一个按钮在右侧?!
据我所知,当我在 Python Qt 代码中向布局添加内容时,内容最终是从左到右排序的 - 在这里,看起来排序是正确的离开了?!
我找到了这个 quote:
A horizontal layout widget lays out widgets in a horizontal row, from left to right (or right to left, for right-to-left languages)
中央小部件也将 layoutDirection
设置为 LeftToRight
。
我如何"persuade" QtDesigner 以从左到右的顺序在 QHBoxLayout 中绘制小部件?
编辑:将第二个按钮的水平 sizePolicy
设置为固定后(因此布局中有更多 space),结果是 - 在我尝试将其拖动到第一个按钮几次,最后两个按钮最终交换了位置 - 所以我现在按预期的从右到左的顺序排列它们!
但是,对象检查器层次结构没有变化(第一个按钮仍然是布局的第一个子按钮),我也没有注意到任何其他相关的 属性 按钮变化。所以,我仍然不知所措 - QtDesigner 在水平布局排序方面的行为应该是什么?
这似乎是 Designer 界面设置方式的产物。
默认情况下,小部件框位于左侧。所以当你把一个按钮拖到布局上时,它通常会从那一侧进入布局。如果你非常缓慢地拖动按钮,你会看到一旦按钮完全覆盖布局,它就会亮起,并且在其左边缘会出现一条蓝色指示线。所以现在无论你把按钮放在布局中的什么地方,它都会被添加到左边。通常,这一切都发生得如此之快,以至于您不会注意到它。
要将其添加到右侧,您需要将按钮一直拖到上方,直到右侧出现蓝线。或者在布局周围做一个结束运行,然后从右边开始输入。
PS:
Object Inspector 按对象名称排序,因此顺序不一定反映在布局中看到的内容。