-1

複数のアイテムで動作する QListWidget を作成しましたが、ユーザーフレンドリーにする方法がわかりません。次のようになります。

1000
1001
1002
...

しかし、最初の 4 つの数字には意味があり、残りの情報はすべてユーザー向けです。

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

たとえば、この行

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

どちらの場合でも同じ結果が得られるはずです。

4

2 に答える 2

2

カスタムロールIDでQAbstractItemModel::setData()を使用するだけです。

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
于 2012-12-09T18:16:46.807 に答える
1

ウィジェット内に表示したい文字列を格納し、取得時に結果を解析するか、(Qt::DisplayRole を使用して) data() メソッドを自分で実装する必要があります。

于 2012-12-09T17:29:42.587 に答える