Example #1
0
void clear_Hash(Hash H){
	unsigned int i;
	assert(H);

	for (i = 0; i < H->length; ++i)
		clear_List(H->lists[i]);
}
Example #2
0
//设置全局界面元素以及部件透明度
void MusicWindow::setElement_BackGround()
{
    //文件夹下面的图片
    QPixmap fit_Button;
    QPixmap small_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/small.png"));
    QPixmap mode_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/order.png"));
    QPixmap play_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/pause1.png"));
    QPixmap last_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/last1.png"));
    QPixmap next_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/next1.png"));
    QPixmap add_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/open.png"));
    QPixmap theme_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/theme1.png"));
    QPixmap mark_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/open.png"));
    QPixmap close_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/close.png"));
    QPixmap browser_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/browser.png"));
    QPixmap login_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/login.png"));
    QPixmap speaker_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/speaker.png"));
    QPixmap download_Button(QString::fromUtf8("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/download.png"));

    //设置表格背景、初始化
    titlePalette.setColor(QPalette::Base, Qt::gray);

    ui->storeView->setPalette(titlePalette);
    ui->favoriteView->setPalette(titlePalette);
    ui->storeView->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->storeView->hide();
    ui->webView->hide();
    ui->favoriteView->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->favoriteView->hide();
    ui->browserButton->hide();
    ui->storeButton->hide();
    ui->favoriteButton->hide();

    //设置界面按钮的图片以及图标大小
    fit_Button = small_Button.scaled(163,163).scaled(21, 21, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->smallButton->setIcon(QIcon(fit_Button));
    ui->smallButton->setIconSize(QSize(21, 21));
    ui->smallButton->setFlat(true);
    ui->smallButton->setStyleSheet("border: 0px");
    ui->smallButton->setToolTip(QString("最小化窗口"));

    fit_Button = mode_Button.scaled(163,163).scaled(31, 31, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->modeButton->setIcon(QIcon(fit_Button));
    ui->modeButton->setIconSize(QSize(31, 31));
    ui->modeButton->setFlat(true);
    ui->modeButton->setStyleSheet("border: 0px");
    ui->modeButton->setToolTip(QString("顺序播放"));

    fit_Button = play_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->playButton->setIcon(QIcon(fit_Button));
    ui->playButton->setIconSize(QSize(41, 41));
    ui->playButton->setFlat(true);
    ui->playButton->setStyleSheet("border: 0px");
    ui->playButton->setToolTip(QString("播放/暂停"));

    fit_Button = last_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->lastButton->setIcon(QIcon(fit_Button));
    ui->lastButton->setIconSize(QSize(41, 41));
    ui->lastButton->setFlat(true);
    ui->lastButton->setStyleSheet("border: 0px");
    ui->lastButton->setToolTip(QString("上一曲Ctrl+L"));

    fit_Button = next_Button.scaled(163,163).scaled(41, 41, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->nextButton->setIcon(QIcon(fit_Button));
    ui->nextButton->setIconSize(QSize(41, 41));
    ui->nextButton->setFlat(true);
    ui->nextButton->setStyleSheet("border: 0px");
    ui->nextButton->setToolTip(QString("下一曲Ctrl+R"));

    fit_Button = add_Button.scaled(163,163).scaled(36, 36, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->addButton->setIcon(QIcon(fit_Button));
    ui->addButton->setIconSize(QSize(36, 36));
    ui->addButton->setFlat(true);
    ui->addButton->setStyleSheet("border: 0px");
    ui->addButton->setToolTip(QString("add songs"));

    fit_Button = theme_Button.scaled(163,163).scaled(36, 36, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->setApearenceButton->setIcon(QIcon(fit_Button));
    ui->setApearenceButton->setIconSize(QSize(36, 36));
    ui->setApearenceButton->setFlat(true);
    ui->setApearenceButton->setStyleSheet("border: 0px");
    ui->setApearenceButton->setToolTip(QString("更换主题"));

    fit_Button = mark_Button.scaled(163,163).scaled(27, 27, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->markButton->setIcon(QIcon(fit_Button));
    ui->markButton->setIconSize(QSize(27, 27));
    ui->markButton->setFlat(true);
    ui->markButton->setStyleSheet("border: 0px");
    ui->markButton->setToolTip(QString("move to favorite"));

    fit_Button = close_Button.scaled(163,163).scaled(29, 29, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->quitButton->setIcon(QIcon(fit_Button));
    ui->quitButton->setIconSize(QSize(29, 29));
    ui->quitButton->setFlat(true);
    ui->quitButton->setStyleSheet("border: 0px");
    ui->quitButton->setToolTip(QString("close "));

    fit_Button = browser_Button.scaled(163,163).scaled(34, 34, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->browserHideButton->setIcon(QIcon(fit_Button));
    ui->browserHideButton->setIconSize(QSize(34, 34));
    ui->browserHideButton->setFlat(true);
    ui->browserHideButton->setStyleSheet("border: 0px");
    ui->browserHideButton->setToolTip(QString("浏览网页"));

    fit_Button = login_Button.scaled(163,163).scaled(39, 30, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->loginButton->setIcon(QIcon(fit_Button));
    ui->loginButton->setIconSize(QSize(39, 30));
    ui->loginButton->setFlat(true);
    ui->loginButton->setStyleSheet("border: 0px");
    ui->loginButton->setToolTip(QString("登陆"));

    fit_Button = speaker_Button.scaled(163,163).scaled(35, 35,  Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
    ui->muteButton->setIcon(QIcon(fit_Button));
    ui->muteButton->setIconSize(QSize(35, 35));
    ui->muteButton->setFlat(true);
    ui->muteButton->setStyleSheet("border: 0px");
    ui->muteButton->setToolTip(QString("静音"));

    fit_Button = download_Button.scaled(163,163).scaled(25,25,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
    ui->downloadButton->setIcon(QIcon(fit_Button));
    ui->downloadButton->setIconSize(QSize(25,25));
    ui->downloadButton->setFlat(true);
    ui->downloadButton->setStyleSheet("border:0px");
    ui->downloadButton->setToolTip(QString(" 下载"));

    ui->lyricButton->setToolTip(QString("歌词"));
    titlePalette = ui->browserButton->palette();
    titlePalette.setColor(QPalette::ButtonText, Qt::white);

    ui->browserButton->setToolTip(QString("网络"));
    ui->browserButton->setPalette(titlePalette);
    ui->browserButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    ui->storeButton->setToolTip(QString("mosic store"));
    ui->storeButton->setPalette(titlePalette);
    ui->storeButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->favoriteButton->setToolTip(QString("我喜欢的歌曲"));
    ui->favoriteButton->setPalette(titlePalette);
    ui->favoriteButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    titlePalette = ui->musicTitle->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->musicTitle->setPalette(titlePalette);
    ui->lyricButton->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->volumeSlider->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");
    ui->volumeSlider->setTickPosition(QSlider::TicksRight);

    titlePalette = ui->label->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->label->setPalette(titlePalette);

    titlePalette = ui->playStatusText->palette();
    titlePalette.setColor(QPalette::WindowText, Qt::white);
    ui->playStatusText->setPalette(titlePalette);

    titlePalette = ui->listWidget->palette();
    titlePalette.setColor(QPalette::Base, Qt::lightGray);
    ui->listWidget->setPalette(titlePalette);
    //StyleSheet字符串用来设置模版样式
    ui->listWidget->setStyleSheet("background-color:qconicalgradient(cx:0.5, cy:0.5, angle:0, stop:0.368182 rgba(198,198,198,75))");

    //设置主窗口
    this->setWindowOpacity(0.9);
    this->setWindowFlags(Qt::FramelessWindowHint); //无边框窗口
    this->setWindowTitle("Qt MusicPlayer");
    this->setWindowIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/title.png"));
    themeChoise = "pure_zise.png";
    themeToUse = "C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Backgroud/" + themeChoise;
    QPixmap pixmap(/*QString::fromUtf8*/themeToUse);//文件夹下面的图片
    titlePalette = this->palette();
    titlePalette.setBrush(backgroundRole(), QBrush(pixmap));
    this->setPalette(titlePalette);

    //设置全局快捷键动作
    search = new QAction( QString("搜索歌曲"),this);
    search->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_F));
    search->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/search.png"));
    this->addAction(search);
    ui->searchEdit->hide();
    this->connect(search, SIGNAL(triggered()), this, SLOT(songsSearch()));

    last_song = new QAction(ui->lastButton);
    last_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Left));
    ui->lastButton->addAction(last_song);
    ui->lastButton->connect(last_song, SIGNAL(triggered()), this, SLOT(lastSong()));

    next_song = new QAction(ui->nextButton);
    next_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Right));
    ui->nextButton->addAction(next_song);
    ui->nextButton->connect(next_song, SIGNAL(triggered()), this, SLOT(nextSong()));

    pause_song = new QAction(ui->playButton);
    pause_song->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Space));
    ui->playButton->addAction(pause_song);
    ui->playButton->connect(pause_song, SIGNAL(triggered()), this, SLOT(playEvent()));

    small_window = new QAction(this);
    small_window->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Down));
    this->addAction(small_window);
    this->connect(small_window, SIGNAL(triggered()), this, SLOT(showMinimized()));

    full_window = new QAction(ui->browserHideButton);
    full_window->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Up));
    ui->browserHideButton->addAction(full_window);
    ui->browserHideButton->connect(full_window, SIGNAL(triggered()), this, SLOT(browserSet()));

    showMini = new QAction( QString("最小化"),this);
    showMini->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/mini.png"));
    connect(showMini, SIGNAL(triggered()), this, SLOT(showMinimized()));

    quit = new QAction(QString("close"), this);
    quit->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/close.png"));
    connect(quit, SIGNAL(triggered()), this, SLOT(warning()));

    login = new QAction(QString("登陆"), this);
    login->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/login.png"));
    connect(login, SIGNAL(triggered()), this, SLOT(user_login()));

    clearList  = new QAction(QString("清空列表"), this);
    clearList->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/clear.png"));
    connect(clearList, SIGNAL(triggered()), this, SLOT(clear_List()));

    download = new QAction(QString("下载歌曲"), this);
    download->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/download.png"));
    connect(download,SIGNAL(triggered()), this, SLOT(download_File()));

    information = new QAction(QString("关于"), this);
    information->setIcon(QIcon("C:/Qt/Qt5.4.1/projects/QT_MusicPlayer/Images/Icon/information.png"));
    connect(information, SIGNAL(triggered()), this, SLOT(about()));
}