У меня проблема с моим списком воспроизведения, написанным на QT.
У меня есть небольшая функция для загрузки mp3-файла и печати названия этой песни в моем списке воспроизведения со следующим кодом:
void MainWindow::on_addButton_clicked()
{
QString files = QFileDialog::getOpenFileName(this, tr("Open Files"), "QString()", tr("Audio Files (*.mp3)"));
qDebug() << player->errorString();
player->setMedia(QUrl::fromLocalFile(files));
player->setVolume(ui->volumeSlider->value());
on_playButton_clicked();
foreach (QString filePath, files) {
QList<QStandardItem*> items;
items.append(new QStandardItem(QDir(filePath).dirName()));
items.append(new QStandardItem(filePath));
playListModel->appendRow(items);
playlist->addMedia(QUrl(filePath));
}
}
С этим кодом у меня проблема в том, что мой плейлист содержит ТОЛЬКО 1 букву в 1 строке.Когда я изменяю QString на QStringList (который будет работать), я получаю ошибку:
error: conversion from ‘QString’ to non-scalar type ‘QStringList’ requested
QStringList files = QFileDialog::getOpenFileName(this, tr("Open Files"), "QString()", tr("Audio Files (*.mp3)"));
Как я могу изменить его, чтобы решить мою проблему?Также вторая проблема заключается в том, что я получаю полное имя каталога с названием песни, и я хотел бы получить только название песни.
Буду очень рад любой помощи.