gpt4 book ai didi

qt - QBoxLayout 搞砸了 QFormLayout?

转载 作者:行者123 更新时间:2023-12-04 05:51:57 26 4
gpt4 key购买 nike

以下简化代码片段:

#include <QtGui>

int main(int argc, char **argv)
{
QApplication app(argc, argv);
QWidget *window = new QWidget();
QFormLayout *form = new QFormLayout();

// first row
form->addRow("First row:", new QLineEdit());

// second row
QWidget *hbox_widget = new QWidget();
QBoxLayout *hbox = new QHBoxLayout();
hbox->addWidget(new QLineEdit());
hbox_widget->setLayout(hbox);
form->addRow("Second row:", hbox_widget);

window->setLayout(form);
window->show();
return app.exec();
}

在这里,我创建了一个包含两行的 QFormLayout:第一个是标签+输入小部件的经典示例,第二个几乎相同,除了输入小部件在 QHBoxLayout(+包含小部件)中“装箱”。

result of above code

出于某种原因,这似乎搞砸了输入小部件的“垂直居中”(在第二行)。如何将在 hboxlayout 中包含其他小部件的小部件添加到表单布局,并且仍然让它们全部垂直居中?

最佳答案

将 QHBoxLayout 的内容边距设置为 0:

QBoxLayout *hbox = new QHBoxLayout();
hbox->setContentsMargins(0, 0, 0, 0);

关于qt - QBoxLayout 搞砸了 QFormLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9957413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com