2017-07-07 5 views
0

私はQListWidgetポインタ(pListWidget)を持っています。私のカスタム(QCustomItem)ウィジェットをQWidgetから無くし、いくつかのデータを含んでいます。いくつかのウィジェットをリストに追加します:QListWidgetでcurrentItemChangedシグナルを使用して私のウィジェットを取る方法は?

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

このコード部分はサイクル的に表示される場合があります(ウィジェットの数が少ない)。

はまた、私は接続によって変化する項目を検出:

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

とスロット実現:私はQListWidgetから私のウィジェットを抽出することができますどのように

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 
} 

?ありがとう!私はあなたの助けを願っています!

答えて

0

docをお読みください。 QListWidget::setItemWidget()が見つかった場合は、

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

この申し訳ありません。本当にありがとう!できます!! – Jarex

関連する問題