From c5e4bfbfe5196dd4d9a8ce88b4ac1716e1a058d4 Mon Sep 17 00:00:00 2001 From: flykhan Date: Thu, 31 Aug 2023 08:56:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20setSongList=20=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.cpp | 2 -- mainwindow.cpp | 16 ++++++++++------ mainwindow.h | 11 ++++------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/main.cpp b/main.cpp index 48ec6e8..3750dee 100644 --- a/main.cpp +++ b/main.cpp @@ -19,8 +19,6 @@ int main(int argc, char *argv[]) // pthread_join(t1,NULL); // pthread_join(t2,NULL); - - return a.exec(); } diff --git a/mainwindow.cpp b/mainwindow.cpp index da04832..c28772e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -9,9 +9,8 @@ MainWindow::MainWindow(QWidget *parent) ui->setupUi(this); initMainWindow(); // 初始化主界面 mplayerInit(); // 初始化 mplayer - scanSong(); // - - + scanSong(); // 扫描歌曲列表 + setSongList(); // 将扫描的歌曲显示到歌曲列表中 // 捕获当前时间信号 connect(this, SIGNAL(currentTimeSignal(int)), this, SLOT(setCurrentTimeLabel(int))); @@ -137,8 +136,8 @@ void MainWindow::playNextSong(void) // 将 loadfile 'song_name_path' 写入字符数组 int len = sprintf(changeSongBuf, "loadfile ./song/%s\n", vectorSong[index].c_str()); qDebug() << changeSongBuf << endl; // 控制台打印下一首歌的名字 - write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size()); -// write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中 +// write(this->fifo_fd, changeSongBuf.toUtf8().toStdString().c_str(),changeSongBuf.toUtf8().toStdString().size()); + write(this->fifo_fd, changeSongBuf, len); // 将获取的下一首歌曲名写入到有名管道中 } @@ -177,5 +176,10 @@ void MainWindow::on_play_btn_clicked() void MainWindow::setSongList() { - + QStringList strList; + for(vector::const_iterator it = vectorSong.begin(); it != vectorSong.end(); ++it) + { + strList.append(QString::fromStdString(*it)); + } + ui->song_list_widget->addItems(strList); } diff --git a/mainwindow.h b/mainwindow.h index 46baa02..5db74b1 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -26,13 +26,12 @@ class MainWindow : public QMainWindow Q_OBJECT public: - int fd[2]; // 声明无名管道 - int fifo_fd; // 声明有名管道 + static int fd[2]; // 声明无名管道 + static int fifo_fd; // 声明有名管道 int index = 0; // 歌曲索引 vector vectorSong; // 歌曲名动态数组 - - int play_btn_flag = 0; // play btn flag + int play_btn_flag = 0; // play 按钮点击标识 public: MainWindow(QWidget *parent = nullptr); @@ -42,9 +41,7 @@ public: void initMainWindow(); // 主窗体初始化 void mplayerInit(); // 初始化 mplayer void scanSong(); // 扫描歌曲文件 - void setSongList(); - - + void setSongList(); // 向歌曲列表设置歌曲内容 public slots: void playNextSong(); // 切换歌曲槽函数I