c++ - How to cast QTableWidgetItem to custom child class -
i'm trying cast qtablewidgetitem child class. have class hierarchy this:
(parent -> child) qtablewidgetitem -> sortabletablewidgetitem -> enhancedtablewidgetitem or
class sortabletablewidgetitem : public qtablewidgetitem
class enhancedtablewidgetitem : public sortabletablewidgetitem
for part, use items qtablewidgetitems because code written , shouldn't change. in instances need access data in enhancedtablewidgetitem after being given pointer qtablewidgetitem (which know enhancedtablewidgetitem because constructed object , passed calling code initially). have tried casting this:
qtablewidgetitem item = getitem(); // fails compile saying "error: no matching function call ‘qobject_cast(qtablewidgetitem*)’" enhancedtablewidgetitem *eitem = qobject_cast<enhancedtablewidgetitem*>( item ); // fails compile , says: "error: invalid conversion ‘qtablewidgetitem*’ ‘enhancedtablewidgetitem*’" enhancedtablewidgetitem *eitem = dynamic_cast<enhancedtablewidgetitem*>( item ); i come java world legal , done time. why can't cast base class pointer child class pointer? how can accomplish this?
qobject_cast class inherit qobject. if item of custom type use dynamic cast
enhancedtablewidgetitem* eitem = dynamic_cast<enhancedtablewidgetitem*>( item ); nevermind. you casting object pointer. not work. still, said still apply
Comments
Post a Comment