我正在尝试通过代码(而不是在 Designer 中)手动设置小部件的布局,但我做错了,因为我收到了以下警告:
QWidget::setLayout: 试图在 Widget "" 上设置 QLayout "",它已经有一个布局
而且布局也很混乱(标签在顶部,而不是底部)。
这是重现问题的示例代码:
Widget::Widget(QWidget *parent) :
QWidget(parent)
{
QLabel *label = new QLabel("Test", this);
QHBoxLayout *hlayout = new QHBoxLayout(this);
QVBoxLayout *vlayout = new QVBoxLayout(this);
QSpacerItem *spacer = new QSpacerItem(40, 20, QSizePolicy::Fixed);
QLineEdit *lineEdit = new QLineEdit(this);
hlayout->addItem(spacer);
hlayout->addWidget(lineEdit);
vlayout->addLayout(hlayout);
vlayout->addWidget(label);
setLayout(vlayout);
}