如何为QListWidget分配一个特定的数字,以便以后修改它?

时间:2018-06-07 11:00:28

标签: c++ qt qtgui

有没有办法为int项目分配特定的QListWidget号码?

我通过每次执行以下操作并通过将它们作为参数传递来设置一些数据来创建我设计的widget类的许多实例

MyWidgetClass *object = new MyWidgetClass(this);
object->setData(data_1,data_2,.....,data_n);

然后我在qListWidget的帮助下将此小部件设置为ui的QListWidgetItem

QListWidgetItem *listWidgetItem = new QListWidgetItem(ui->qListWidget);
ui->qListWidget->addItem(listWidgetItem);
listWidgetItem->setSizeHint(object->sizeHint());
ui->qListWidget->setItemWidget (listWidgetItem, object);

以后根据收到的信号,必须自动修改已通过的数据。所以,我想,如果为QListWidget的每个项目分配了任何特定的号码,那么它可以随时自动修改。

任何帮助或建议将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作将自定义数据存储在列表小部件项目中:

int identifier = 111;
QListWidgetItem *listWidgetItem = new QListWidgetItem(ui->qListWidget);
listWidgetItem->setData(Qt::UserRole, identifier);

然后将其取回:

int identifier = listWidgetItem->data(Qt::UserRole).toInt();