Wednesday 15 September 2010

c++ - get widget from QListWidget -



c++ - get widget from QListWidget -

i have custom qwidget class called videowidget used populate qlistwidget ui->mylist. doubleclicking on item of list should give me videowidget.

connect(ui->mylist,signal(doubleclicked(qmodelindex)),this,slot(playclip(qmodelindex))); void mainwindow::playclip(qmodelindex index){ qlistwidgetitem* item = ui->mylist->itemat(0,index.row()); videowidget widget = <dynamic_cast>(videowidget*)( ui->mylist->itemwidget(item) ); cout << "custom widget data" << widget.getmydata() << endl; }

it won't allow me compile line videowidget widget = <dynamic_cast>(videowidget*)( ui->mylist->itemwidget(item) );. i'm not sure missing here.

syntax of dynamic_cast is

videowidget *widget = dynamic_cast<videowidget*>(ui->mylist->itemwidget(item));

you should utilize qobject_cast instead, since qobject:

videowidget *widget = qobject_cast<videowidget*>(ui->mylist->itemwidget(item));

add code, @ to the lowest degree q_assert(widget);, after cast verify cast successful (returns nullptr failed cast).

c++ qt qwidget qlistwidget

No comments:

Post a Comment