当前位置: 首页 > wzjs >正文

建设厅网站如何查询企业信息网小县城做房地产网站

建设厅网站如何查询企业信息网,小县城做房地产网站,4399网页游戏在线玩,每天自动更新的网站问题:ui界面文件的spacer效果不是我所想的,可能还不太熟练spacer的使用,所以固定了窗口大小 可改进点:没有添加播放器背景,可在paintevent重载,自行添加想要背景 主要所使用的知识:qt文件对话框…

问题:ui界面文件的spacer效果不是我所想的,可能还不太熟练spacer的使用,所以固定了窗口大小
可改进点:没有添加播放器背景,可在paintevent重载,自行添加想要背景
主要所使用的知识:qt文件对话框和qfile的使用,qt媒体的配置和使用,qurl的使用
注意事项:记得在.pro文件添加多媒体模块,负责无法使用媒体播放器
.h文件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug>
#include <QFileDialog>
#include <QDir>
#include <QMediaPlayer>
#include <QAudioOutput>
#include <QUrl>
#include <QString>
#include <QPainter>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();void on_pushButton_6_clicked();void on_pushButton_3_clicked();void on_pushButton_4_clicked();void on_listWidget_doubleClicked(const QModelIndex &index);void loadMusicFromDirectory(const QString& directoryPath);void on_pushButton_7_clicked();// protected:
//     void paintEvent(QPaintEvent* event) override;private:Ui::Widget *ui;const QString windowTitle = "musicPlayer2025";bool isVoiceSliderVisible = false;QList<QUrl> playList;QAudioOutput* audioOutput;QMediaPlayer* mediaPlayer;int curPlayIndex = 0;
};
#endif // WIDGET_H

.cpp文件

#include "widget.h"
#include "ui_widget.h"#define defaultVolume 0.5Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowTitle(windowTitle);//固定窗口大小,不知为什么ui界面里的spacer有问题this->setFixedSize(709,709);//使voiceSlider隐藏,如果需要显示点击即可ui->voiceSlider->setVisible(isVoiceSliderVisible);// 播放音乐,先加载模块multimediaaudioOutput = new QAudioOutput(this);mediaPlayer = new QMediaPlayer(this);mediaPlayer->setAudioOutput(audioOutput);// 设置默认音量为 50%(即音量为 0.5)audioOutput->setVolume(defaultVolume);ui->voiceSlider->setRange(0, 100);ui->voiceSlider->setValue(defaultVolume * 100);// 获取当前媒体的时长connect(mediaPlayer, &QMediaPlayer::durationChanged, this, [=](qint64 duration) {ui->totallabel->setText(QString("%1:%2").arg(duration / 1000 / 60, 2, 10, QChar('0')).arg(duration / 1000 % 60));// 显示播放时长ui->playCourseSlider->setRange(0, duration);});//获取当前媒体音量// 获取当前播放时长connect(mediaPlayer, &QMediaPlayer::positionChanged, this, [=](qint64 pos) {ui->curlabel->setText(QString("%1:%2").arg(pos / 1000 / 60, 2, 10, QChar('0')).arg(pos / 1000 % 60));// 显示播放时长ui->playCourseSlider->setValue(pos);});// 拖到滑块让播放进度改变connect(ui->playCourseSlider, &QSlider::sliderMoved, mediaPlayer, &QMediaPlayer::setPosition);// 拖动音量滑块调整播放音量connect(ui->voiceSlider, &QSlider::valueChanged, this, [=](int value) {// 将滑块的值映射到音量范围 [0.0, 1.0]qreal volume = value / 100.0;audioOutput->setVolume(volume);});// 默认加载音乐目录并更新播放列表loadMusicFromDirectory("C:/Users/20834/Music/");
}Widget::~Widget()
{delete ui;
}void Widget::loadMusicFromDirectory(const QString& directoryPath)
{qInfo() << tr("打开音乐所在目录");// 打开指定目录auto path = directoryPath;// 根据这个路径获取音乐文件QDir dir(path);auto musicList = dir.entryList(QStringList() << "*.mp3" << "*.wav");// 输出音乐列表if (musicList.isEmpty()){qInfo() << tr("未获取相关音乐文件");}else{qInfo() << musicList;}ui->listWidget->clear();  // 清空现有列表ui->listWidget->addItems(musicList);// 默认选中第一个音乐if (!musicList.isEmpty())ui->listWidget->setCurrentRow(0);// 把音乐完整路径保存起来playList.clear();  // 清空已有列表,避免重复添加for (auto file : musicList){playList.append(QUrl::fromLocalFile(path + "/" + file));}qInfo() << playList;
}void Widget::on_pushButton_clicked()//选取音乐所在的目录
{// 你可以保留此方法用于用户手动选择其他目录qInfo() << tr("打开音乐所在目录");// 打开目录auto path = QFileDialog::getExistingDirectory(this, tr("请选择音乐所在的目录"), "C:/Users/20834/Music/");qInfo() << path;loadMusicFromDirectory(path);
}void Widget::on_pushButton_6_clicked()//播放或暂停按钮的配置
{if(playList.empty())return;switch(mediaPlayer->playbackState()){case QMediaPlayer::PlaybackState::StoppedState:{// 播放当前选中的音乐curPlayIndex = ui->listWidget->currentRow();  // 获取选中的行数// 检查索引是否有效if (curPlayIndex >= 0 && curPlayIndex < playList.size()){mediaPlayer->setSource(playList[curPlayIndex]);mediaPlayer->play();}else{qWarning() << tr("无效的选项,无法播放音乐");}break;}case QMediaPlayer::PlaybackState::PlayingState:{mediaPlayer->pause();break;}case QMediaPlayer::PlaybackState::PausedState:{mediaPlayer->play();break;}}
}void Widget::on_pushButton_3_clicked() // 上一曲
{curPlayIndex--;if(curPlayIndex <= 0){curPlayIndex = playList.size() - 1;}ui->listWidget->setCurrentRow(curPlayIndex);mediaPlayer->setSource(playList[curPlayIndex]);mediaPlayer->play();
}void Widget::on_pushButton_4_clicked() // 下一曲
{curPlayIndex++;if(curPlayIndex >= playList.size()){curPlayIndex = 0;}ui->listWidget->setCurrentRow(curPlayIndex);mediaPlayer->setSource(playList[curPlayIndex]);mediaPlayer->play();
}void Widget::on_listWidget_doubleClicked(const QModelIndex &index)//双击列表歌曲播放
{curPlayIndex = index.row();mediaPlayer->setSource(playList[curPlayIndex]);mediaPlayer->play();
}void Widget::on_pushButton_7_clicked()//音量调节
{isVoiceSliderVisible = !isVoiceSliderVisible;ui->voiceSlider->setVisible(isVoiceSliderVisible);
}// void Widget::paintEvent(QPaintEvent* event) //背景添加
// {// }

文章转载自:

http://6sVKvAGl.rqjxc.cn
http://XnfSqkoy.rqjxc.cn
http://UnZIvEtF.rqjxc.cn
http://07wdIVaW.rqjxc.cn
http://n2PNf6gS.rqjxc.cn
http://R0Lm6YJ8.rqjxc.cn
http://8yd2QKk4.rqjxc.cn
http://dNzN3ZjO.rqjxc.cn
http://XnsdDLcG.rqjxc.cn
http://8hv5xy3i.rqjxc.cn
http://STVQBmdR.rqjxc.cn
http://MhcVgOdi.rqjxc.cn
http://PDKfFxbW.rqjxc.cn
http://yzwmpqmE.rqjxc.cn
http://v0WK64NY.rqjxc.cn
http://0EAMqVbj.rqjxc.cn
http://O2SB3JM3.rqjxc.cn
http://FCAToCla.rqjxc.cn
http://H3xLGpjr.rqjxc.cn
http://FONPlpuM.rqjxc.cn
http://QBcexyUZ.rqjxc.cn
http://m4uAr13c.rqjxc.cn
http://b2BxZqCQ.rqjxc.cn
http://RFeeloAZ.rqjxc.cn
http://A5GiSyH5.rqjxc.cn
http://z8679x3w.rqjxc.cn
http://byRSGMod.rqjxc.cn
http://waX5KY9N.rqjxc.cn
http://GScPT4zm.rqjxc.cn
http://QGn3bcmC.rqjxc.cn
http://www.dtcms.com/wzjs/635857.html

相关文章:

  • 搜索网站建设推广优化php做网站页面
  • 便宜模板网站建设wordpress页眉置顶
  • 手机看电影的网站建设网站建设的方法有四种
  • 设计网站有哪些东南亚做网站 什么语言
  • 做网站口碑比较好的大公司营销型单页网站
  • 怎么建设视频网站提供佛山网站制作
  • icp网站 是什么意思免费微信小程序模板
  • js网站源码下载如何创作自己的平台
  • 网站建设龙采科技企业所得税怎么算100万以下
  • 美团网网站建设 费用重庆网站开发
  • 京东网站谁建设北大青鸟培训机构官网
  • 做科普网站汕头网站制作公司
  • 网站推广的基本方法为网络游戏代理
  • 怎么评价网站做的好坏佛山网站建设外贸
  • 做非洲出口的网站苏州设计网页
  • 摄影网站开发背景怎么写网站发布时间更改
  • 成立公司后需要做的事情seo最新快速排名
  • 曲阳住房和城乡建设局网站工作邮箱认证提额
  • 网站虚拟主机1g建行app下载官网
  • 如何做网站主赚钱网站开发页面怎么进
  • 纪检监察机关网站建设方案网站建设佰首选金手指六
  • 深圳招聘网官方网站企业网页设计费用
  • 电子商务网站开发报价知名企业网站建设
  • 企业网站有哪些内容泰安网络电视台直播
  • 南阳定制网站制作价格低网站后台密码忘记了
  • 无锡建设执业资格注册中心网站一级域名做网站的好处
  • WordPress更改网站地址wordpress如何网页浏览数据库
  • 个人商城网站怎么做做什么地方网站
  • 网站换了域名工作室网站设计
  • qq中心官方网站有人做家具网站中介吗