2017-07-07 1 views
0

Ich habe QListWidget Zeiger (pListWidget). A habe mein benutzerdefiniertes (QCustomItem) Widget, das von QWidget ausgegeben wird und einige Daten enthält. Ich Hinzufügen einiger Widgets in der Liste:Wie nehme ich mein Widget in QListWidget mit currentItemChanged Signal?

int iMyData = 555; 
... 
QListWidgetItem *pListWidgetItem = new QListWidgetItem(); 
QCustomItem *pCustomWidget = new QCustomItem(iMyData); 
pListWidget->addItem(pListWidgetItem); 
pListWidget->setItemWidget(pListWidgetItem, pCustomWidget); 
... 

Dieser Teil des Codes im Zyklus sein kann (Hinzufügen paar Widgets).

Auch Erkennung I Artikel durch die Verbindung zu ändern:

connect(pListWidget, SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, SLOT(slotItemChanged(QListWidgetItem*,QListWidgetItem*))); 

Und Slot Realisierung:

void QSomeForm::slotItemChanged(QListWidgetItem* pCurrent, QListWidgetItem* pPrevious) 
{ 
    QCustomItem *pCustomWidget = // And this is my question: how to take my custom widget in this block code using pListWidget and pCurrent? 

    // Processing pCustomWidget 
    int iMyData = pCustomWidget->iMyData(); // In current example I want to see 555 here 
} 

Wie ich mein Widget von QListWidget extrahieren kann? Vielen Dank! Ich hoffe auf deine Hilfe!

Antwort

0

Lesen Sie die doc. Wenn Sie QListWidget::setItemWidget() gefunden haben, finden Sie:

QWidget * QListWidget::itemWidget(QListWidgetItem * item) const 
+0

Sorry für diese blöde Frage! Vielen Dank! Es klappt!! – Jarex

Verwandte Themen