QT C++ Framework QlistwidgetItem CONVERSION
QT C++ Framework QlistwidgetItem CONVERSION
我有一个列表,你可以自己用QfileDialog
填充它,并将选定的文件放在一个小部件列表中。
我可以访问列表并为所有这些项目着色并做任何我想做的事情,除了这个问题:
我想从列表中选择一个项目并将其以某种方式转换为QStringList
以便我可以将其用作Phonon MediaSource。
我不知道如何提取这个项目,我希望ListWidget
中显示的文本并将其放在我的mediaObj
中,以便我可以播放它。
这是我的一些代码:
我如何打开文件对话框(工作):
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);
但是我可以提取光标位置上显示的字符串。
QListWidgetItem *list_itm = widget.list->currentItem();
list_itm->setTextColor(Qt::red);
QStringList list;
list << list_itm.text();
除非我误解了,否则您只需要一个包含单个项目的QStringList
,即当前小部件项目。
相关文章:
- 如何解决"invalid conversion from 'char' to 'const char*'"
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- "No suitable conversion function from 'std::string' to 'const char *' exists"
- 如何'Invalid conversion'和'no match for operator'更正这些 c++ 错误
- 访问函数变体时"Invalid conversion"错误
- 提升获取文本的区域设置"Conversion failed"
- C++17 编解码器在将标准::字符串转换为标准::字符串时抛出"bad conversion"
- 为什么我会收到"invalid conversion from 'Queue*/Stack*' to 'int'"错误消息?
- 函数模板不起作用,出现错误"No suitable user-defined conversion"
- 在C++中使用地图时"No viable conversion from..."
- Libav AVFrame to Opencv Mat to AVPacket conversion
- cpp rgb to yuv422 conversion
- 尝试将类作为参数传递给不同的类构造函数,但收到"conversion"错误
- "Ambiguous conversion sequence" - 这个概念的目的是什么?
- Python bool conversion to C++ (pybind11)
- conversion to int16_t c++
- 使用strupr和strlwr时如何解决错误"invalid conversion of char to char*"?
- 如何解决"expected constructor, destructor, or type conversion before ‘(’ token"错误?
- "conversion from void to non scalar type string"是什么意思?
- 我收到一个" conversion from ‘std::string (*)[50]’ to non-scalar type ‘std::string’ requested"错误,似乎无法修复它