在使用 Qt Designer 设计的表单上,我有两个 QGroupBox,每个都有一堆控件。两个组框的内容几乎相同(带有关联标签的 QLineEdits)。
然而,我想要做的是将控件对齐在一起,就好像它们是同一个网格布局的一部分一样。但是由于它们在不同的容器中,它们不能共享相同的布局,我不想给它们一个固定的宽度。
有没有办法在 Qt Designer 中做到这一点?如果没有,有没有办法在代码中做到这一点?
谢谢!
在使用 Qt Designer 设计的表单上,我有两个 QGroupBox,每个都有一堆控件。两个组框的内容几乎相同(带有关联标签的 QLineEdits)。
然而,我想要做的是将控件对齐在一起,就好像它们是同一个网格布局的一部分一样。但是由于它们在不同的容器中,它们不能共享相同的布局,我不想给它们一个固定的宽度。
有没有办法在 Qt Designer 中做到这一点?如果没有,有没有办法在代码中做到这一点?
谢谢!
在 Designer 中无法做到这一点。据我所知,Qt 也没有提供在代码中执行此操作的好方法。如果你真的想要这个,你可能不得不依赖一些有点hacky的东西。
这是我的第一个想法:在包含两个分组框的小部件中覆盖 resizeEvent() 以获得所有标签的首选大小(通过 sizeHint() 或 minimumSizeHint()),并将所有标签的固定宽度设置为最大首选宽度。
我鼓励你问问自己这是否真的很重要(是否值得花时间开发?)并考虑是否可以通过稍微不同的 UI 设计完全避免这个问题。
顺便说一句,如果您还没有的话,您可能想看看 QFormLayout。