rimie23
8th June 2012, 16:09
Hi,
in mainwindow
public slots:
void itemAded ( QStandardItem * );
MainWindow::MainWindow()
{
mQOgreWidget = new QOgreWidget(this);
setCentralWidget(mQOgreWidget);
createModel();
createDockWidget();
}
void MainWindow::createDockWidget()
{
listView = new QListView(dockWidgetContents_8);
listView->setObjectName(QString::fromUtf8("listView"));
listView->setGeometry(QRect(0, 0, 281, 290));
listView->setModel( model );
connect( model, SIGNAL( itemChanged( QStandardItem * )),
this, SLOT( itemChanged( QStandardItem * )));
connect( model, SIGNAL( itemAded( QStandardItem * )),
mQOgreWidget, SLOT( itemAded( QStandardItem * )));
connect( mQOgreWidget, SIGNAL( itemAded( QStandardItem * )), this, SLOT( itemAded( QStandardItem * ) ));
in my class QOgrerenderWidget .h
i defined my sognal itemAded like that
public slots:
void add_object();
signals :
void itemAded( QStandardItem * );
in QOgrerenderWidget .cpp
void QOgreRenderWindow::mousePressEvent(QMouseEvent* evt)
{
if(evt->button() == Qt::LeftButton)
{
add_object();
}
}
void QOgreRenderWindow::add_object(double offsetX ,double offsetY)
{
/////////////////////////////////////////////
code to add object
it work very good
///////////////////////////////////////////////////////
QStandardItem *item=new QStandardItem(QString ("Marker %0").arg(nb));
emit itemAded(item);
and in Qogrewidget i make like that
QOgreRenderWindow * orw0 = new QOgreRenderWindow(QString("View2"),mSceneMgr,mRoot,nb_cam,wi0,hi0, mNode);
i can add the object with any problem
but the item do not added
edit :
problem is resolved when i add many view
in mainwindow
public slots:
void itemAded ( QStandardItem * );
MainWindow::MainWindow()
{
mQOgreWidget = new QOgreWidget(this);
setCentralWidget(mQOgreWidget);
createModel();
createDockWidget();
}
void MainWindow::createDockWidget()
{
listView = new QListView(dockWidgetContents_8);
listView->setObjectName(QString::fromUtf8("listView"));
listView->setGeometry(QRect(0, 0, 281, 290));
listView->setModel( model );
connect( model, SIGNAL( itemChanged( QStandardItem * )),
this, SLOT( itemChanged( QStandardItem * )));
connect( model, SIGNAL( itemAded( QStandardItem * )),
mQOgreWidget, SLOT( itemAded( QStandardItem * )));
connect( mQOgreWidget, SIGNAL( itemAded( QStandardItem * )), this, SLOT( itemAded( QStandardItem * ) ));
in my class QOgrerenderWidget .h
i defined my sognal itemAded like that
public slots:
void add_object();
signals :
void itemAded( QStandardItem * );
in QOgrerenderWidget .cpp
void QOgreRenderWindow::mousePressEvent(QMouseEvent* evt)
{
if(evt->button() == Qt::LeftButton)
{
add_object();
}
}
void QOgreRenderWindow::add_object(double offsetX ,double offsetY)
{
/////////////////////////////////////////////
code to add object
it work very good
///////////////////////////////////////////////////////
QStandardItem *item=new QStandardItem(QString ("Marker %0").arg(nb));
emit itemAded(item);
and in Qogrewidget i make like that
QOgreRenderWindow * orw0 = new QOgreRenderWindow(QString("View2"),mSceneMgr,mRoot,nb_cam,wi0,hi0, mNode);
i can add the object with any problem
but the item do not added
edit :
problem is resolved when i add many view