QListView не хочет отображаться, если вызывать внутри класса.
//--------main.cpp-------------------------
#include <QtGui>
#include "lwgt.h"
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QWidget* nWidget = new QWidget();
QListView lview;
QStandardItemModel model;
QGridLayout* ptopLayout = new QGridLayout();
QStandardItem* item = new QStandardItem("text");
model.appendRow(item);
lview.setModel(&model);
ptopLayout->addWidget(new QLabel("Text1"),0,0);
ptopLayout->addWidget(&lview, 0, 1);
ptopLayout->addWidget(new QLabel("Text2"),0,2);
nWidget->setLayout(ptopLayout);
nWidget->show();
lwgt* wgt = new lwgt();
wgt->show();
return app.exec();
}
//---------------lwgt.cpp-----------------------
#include <QtGui>
#include "lwgt.h"
lwgt::lwgt(QWidget* pwgt/*= 0*/) : QWidget(pwgt)
{
QListView lview;
QStandardItemModel model;
QGridLayout* ptopLayout = new QGridLayout();
QStandardItem* item = new QStandardItem("text");
model.appendRow(item);
lview.setModel(&model);
ptopLayout->addWidget(new QLabel("Text1"),0,0);
ptopLayout->addWidget(&lview, 0, 1);
ptopLayout->addWidget(new QLabel("Text2"),0,2);
setLayout(ptopLayout);
}
//-----------------lwgy.h--------------------------
#ifndef _lwgt_h_
#define _lwgt_h_
#include <QWidget>
class lwgt : public QWidget {
Q_OBJECT
public:
lwgt(QWidget* pwgt = 0);
};
#endif //_lwgt_h_
Если вызывать из main() то список отображается, иначе игнорируется. Как это лечить?