QListWidgetItem содержит 2 данных: значок и текст. И я хочу сохранить в нем еще одну QString. Как я могу сделать? Вот мой тестовый код. ListWidget ничего не отображает после того, как я вызываю addItem.
И как я могу узнать, какой элемент был нажат? Функция SLOT - это "void on_listWidget_itemClicked (QListWidgetItem * item)". Очевидно, что параметром является родительский класс: QListWidgetItem, НЕ подкласс: ListWidgetItem
ListWidgetItem::ListWidgetItem(const QIcon &icon, const QString &text,QString &ip, QListWidget *parent, int type)
{
myip = ip;
QListWidgetItem::QListWidgetItem(icon,text,parent,type);
}
ListWidgetItem::~ListWidgetItem()
{
}
QVariant ListWidgetItem::data(int role) const
{
if (role==IPROLE)
{
return myip;
}
return QListWidgetItem::data(role);
}
void ListWidgetItem::setData(int role, const QVariant &value)
{
if (role==IPROLE)
{
myip = value.toString();
}
QListWidgetItem::setData(role,value);
}