c++ - 如何给QListWidget分配一个特定的数字,以便以后修改?

标签 c++ qt qtgui

是否有任何方法可以将特定的 int 数字分配给 QListWidget 项目?

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

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

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

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

稍后根据接收到的信号,必须自动修改已经传递的数据。所以,我想,如果给QListWidget的每一项指定一个特定的数字,那么它就可以随时自动修改。

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

最佳答案

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

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

这是为了取回它:

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

关于c++ - 如何给QListWidget分配一个特定的数字,以便以后修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50739535/

相关文章:

c++ - Qpushbutton 图标出现在实际按钮的左侧,如何居中或拉伸(stretch)它?

c++ - Qt waitforbyteswriting() 函数中的信号

c++ - 在 Qt GUI 中显示图像序列?

c++ - 如何创建优化的图形多色记录器?

java - 如何将状态和 byte[] 从 C++ 返回到 Java

c++ - 没有合适的默认构造函数可用,但声明了构造函数

c++ - Qt - GUI 数据库编程

c++ - 创建新文本文件 C++ 的问题

C++ 流混淆 : istreambuf_iterator vs istream_iterator?

qt - QML TextView改变滚动条样式?