2012-12-09 31 views
-1

我创建了一个工作QListWidget有多个项目,但我无法弄清楚如何使它用户友好。它看起来像这样:C++ - QListWidget

1000 
1001 
1002 
... 

但我希望它看起来像这样,在firt 4号有一个意思,而所有其余的信息只是为了用户。

1000 Name LastName and some other helpful info 
1001 tom jeff smallville 
1002 ming vase, 1992 
... 

例如,该行

fotoId = ui->devices->currentItem()->text().toInt(); 

应该给我同样的结果在这两种情况下。

+1

有什么问题吗? –

+0

@user你需要更好地解释你的问题 – sashoalm

回答

1

你要么需要存储的字符串作为要显示它的内部部件和检索时,解析结果,或实施数据()方法自己(使用Qt :: DisplayRole)。

2

只需使用QAbstractItemModel::setData()与自定义角色ID。

const int CustomRole = Qt::UserRole + 1; // enum should be better for multiple user role 
... 
// set values 
listWidget->model()->setData(index1, 1000, CustomRole); 
listWidget->model()->setData(index2, 1000, CustomRole); 
... 
// get value 
int value = listWidget->model()->data(index1, CustomRole).toInt(); // should be 1000