19

QListWidget にいくつかのファイル名を保存したいと考えています。完全なファイル パスが必要ですが、ベース ファイル名のみを表示したいと考えています。おそらく、各項目のツールチップに完全なファイル名を保存することもできますが、リスト項目のツールチップは表示したくありません。

4

2 に答える 2

34

各 QListWidgetItem に対してデータを設定および取得できます。QListWidgetItem::setData()およびQListWidgetItem::data( )を参照してください。ロールごとにデータを設定できます。「アプリケーション固有の目的で使用できる最初のロール」である Qt::UserRole を使用します。

次のようなことを試してください:

QListWidgetItem *newItem = new QListWidgetItem;
QString fullFilePath("/home/username/file");
QVariant fullFilePathData(fullFilePath);
newItem->setData(Qt::UserRole, fullFilePathData);
newItem->setText(itemText);
listWidget->insertItem(row, newItem);

と:

QListWidgeItem* currentItem = listWidget->currentItem();
if (currentItem != 0) {
     QVariant data = currentItem->data(Qt::UserRole);
     QString fullFilePath = data.toString();
}
于 2011-08-21T07:09:03.773 に答える