所以我有 QFormLayout 可以很好地管理我的 QLabel-QLineEdit 对。
问题是,我需要实现这样的目标:

水平边框/标题不是问题,但“街道”-“公寓”/“邮政编码”-“城市”对是。
所以我的问题是:如何将两对 QLabel-QLineEdit 作为一行添加到 QFromLayout?
如果 QFormLayout 无法实现,您对其他布局(我猜是 QGridLayout)有什么建议吗?
请记住,标签在翻译成其他语言后可以具有不同的大小比例。
提前致谢!
谢谢大家的回复!
我最终将 QLabel 添加为标签,将 QHBoxLayout 与 QLineEdit、QLabel 和 QLineEdit 作为字段添加到 QFormLayout。就像是:
QLabel firstLabel, secondLabel;
QLineEdit fisrtEdit, secondEdit;
QHBoxLayout hBoxLayout;
hBoxLayout.addWidget(firstEdit);
hBoxLayout.addWidget(secondLabel);
hBoxLayout.addWidget(secondEdit);
QWidget container;
container.setLayout(hBoxLayout);
myFormLayout.addRow(firstLabel, container);
Run Code Online (Sandbox Code Playgroud)
做的伎俩!
此外,如果您打算像这样添加不止一行,我需要将所有secondLabels设置为一个固定宽度。我通过迭代所有secondLabels 两次来做到这一点:第一次找到最大宽度,第二次将此宽度设置为所有这些。
有点hacky,但到目前为止我找不到更好的方法。在我看来,使用 QGridLayout 的解决方案会更加复杂。