我有一个这样的对话框:
除了标题之外,每个组件的属性都设置为默认值。我希望包含的行label_3
与其他三行具有相同的高度(并且要扩展底行以占用剩余空间,如图所示,以便清楚)。问题是复选框与文本框的高度不同,因此行的高度不同。根据设计师的说法,在上图中label_1
,朋友们的身高为 20,label_3
身高为 13。以下尝试均未正常工作:
- 弄乱 the 的
layoutRowStretch
属性是QGridLayout
没有效果的。 - 我不想设置硬编码的固定高度,因为这可能会在其他平台或其他主题上运行,因此我想将组件大小推迟到系统默认值。
设置高度以匹配构造函数中的其他标签高度之一,例如:
ui->label_3->setFixedHeight(ui->label_2->height());
产生不正确的结果:
调试显示
label_2->height()
在构造函数中是30,而不是设计器中报告的 20 ,所以label_3
最终的行太大了。这大概是因为那时还没有显示对话框,所以还没有布置组件。
我没主意了。不涉及硬编码大小的最干净的方法是什么?
上面示例的 Qt5 项目在此处。