我有 QListWidget 指针(pListWidget)。A 有我的自定义(QCustomItem)小部件,从 QWidget 初始化并包含一些数据。我在列表中添加了一些小部件:
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*)) );
和插槽实现:
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
}
如何从 QListWidget 中提取我的小部件?谢谢!我希望得到你的帮助!