QWidget :: setLayout: Tentativa de definir QLayout “” no Widget “”, que já possui um layout
Estou tentando definir o layout de um widget manualmente através de código (não no Designer), mas estou fazendo algo errado, pois recebo este aviso:
QWidget :: setLayout: Tentativa de definir QLayout "" no Widget "", que já possui um layout
E também o layout está bagunçado (a etiqueta está no topo, em vez da parte inferior).
Este é um código de exemplo que reproduz o problema:
<code>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); } </code>