Всем привет. У меня есть MainWindow и класс QdbfReader наследующий от QWidget.
Mainwindow.cpp
QDbfReader* reader = new QDbfReader(this);
setCentralWidget(reader);
А в коде QdbReader'a я добавляю layouts.
void QDbfReader::addWidgets()
{
view = new QTableView(this);
mainLayout = new QHBoxLayout(this);
verticalLayout = new QVBoxLayout(this);
button = new QPushButton(this);
list_widget = new QListWidget(this);
button->setText("SQL");
view->setModel(model);//bind model to the viewer
view->resizeColumnsToContents();
view->resizeRowsToContents();
for (int i = 0; i < DBFlist.count(); i++)
list_widget->addItem(QString::number(i) + " . " + DBFlist[i]);
list_widget->setWordWrap(true);
verticalLayout->addWidget(view);
verticalLayout->addWidget(list_widget);
mainLayout->addLayout(verticalLayout);
mainLayout->addWidget(button);
setLayout(mainLayout);
}
Однако выводится предупреждение -
QLayout: Attempting to add QLayout "" to QDbfReader "", which already has a layoutИ иногда(!) форма не отображается. Что я делаю не так? Всем заранее спасибо.