Qt QBoxLayout拧紧QFormLayout?
以下是简化的代码段:Qt QBoxLayout拧紧QFormLayout?,qt,user-interface,layout,qt4,hbox,Qt,User Interface,Layout,Qt4,Hbox,以下是简化的代码段: #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 QW
#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();
}
#包括
int main(int argc,字符**argv)
{
QApplication应用程序(argc、argv);
QWidget*窗口=新的QWidget();
QFormLayout*表单=新QFormLayout();
//第一排
表单->添加行(“第一行:”,新的QLineEdit());
//第二排
QWidget*hbox_widget=新的QWidget();
QBoxLayout*hbox=新的QHBoxLayout();
hbox->addWidget(新的QLineEdit());
hbox_小部件->设置布局(hbox);
表单->添加行(“第二行:”,hbox\u小部件);
窗口->设置布局(表格);
窗口->显示();
返回app.exec();
}
在这里,我创建了一个包含两行的QFormLayout:第一行是label+输入小部件的经典示例,第二行几乎相同,只是输入小部件被“装箱”在QHBoxLayout(+包含小部件)中
出于某种原因,这似乎会破坏输入小部件(第二行)的“垂直居中”。如何将包含hboxlayout中其他控件的小部件添加到formlayout中,并使它们仍然垂直居中?将QHBoxLayout的内容边距设置为0:
QBoxLayout *hbox = new QHBoxLayout();
hbox->setContentsMargins(0, 0, 0, 0);