-2

我有一个列表,您可以自己填写它QfileDialog并将选定的文件放在一个小部件列表中。

我可以访问列表并为所有这些项目着色并做任何我想做的事情,除了这个问题:

我想从列表中选择一项并以某种方式将其转换为,QStringList以便我可以将其用作 Phonon MediaSource。

我不知道如何提取这个项目,我想要显示的文本ListWidget并将其放入我的mediaObj,以便我可以播放它。

这是我的一些代码:

我如何打开 FileDialog(有效):

 QStringList fileNames;
QFileDialog fDialog(this);
fDialog.setFileMode(QFileDialog::AnyFile);
fDialog.setNameFilter(tr("Music(*.mp3)"));
fDialog.setViewMode(QFileDialog::Detail);

while (true) {
    if (fDialog.exec()) {
        fileNames = fDialog.selectedFiles();
        widget.list->addItems(fileNames);
        musicObj->enqueue(fileNames.last());
    } else {
        break;
    }
}

我如何访问列表中单击的一项:

 QListWidgetItem *list_itm = widget.list->currentItem();
 list_itm->setTextColor(Qt::red);

但我可以提取光标位置上显示的字符串。

4

1 回答 1

0
QListWidgetItem *list_itm = widget.list->currentItem();
list_itm->setTextColor(Qt::red);

QStringList list;
list << list_itm.text();

除非我误解了,否则您只需要一个QStringList包含单个项目的当前小部件项目。

于 2012-08-13T16:10:08.603 回答