(デザイナーではなく) コードを使用してウィジェットのレイアウトを手動で設定しようとしていますが、次の警告が表示されるため、何か問題があります。
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);
}