2012-08-13 25 views
-2

我有一個列表,你可以用QfileDialog自己填寫它,並將選定的文件放在一個widgetList中。QT C++框架QlistwidgetItem CONVERSION

我可以訪問列表和顏色都這些項目和做任何我想,除了這一個問題:

我想從列表中選擇一個項目,並以某種方式將其轉換爲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); 

但是我可以提取顯示在我的光標位置上的字符串。

回答

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

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

除非我誤解,你只想要一個QStringList在一個單一的項目,當前控件項目。

+0

哈哈,謝謝你幫助我瞭解更多C++,即使它不是我正在尋找的東西。 xD謝謝,我只需要:musicObj-> setCurrentSource(list_imt-> text()); – user1595837 2012-08-20 15:58:24