【发布时间】:2018-11-17 06:27:16
【问题描述】:
有没有办法将特定的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的每一项分配了特定的编号,那么它可以随时自动修改。
任何帮助或建议将不胜感激。提前致谢。
【问题讨论】:
-
如果我很好理解你的问题,你必须使用 QSignalMapper。 Qt 文档说:“QSignalMapper 类捆绑来自可识别发送者的信号。此类收集一组无参数信号,并使用与发送信号的对象相对应的整数、字符串或小部件参数重新发出它们。”