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

做100个网站西安百度推广公司

做100个网站,西安百度推广公司,西安市建设银行网站,做网站可以在哪儿接活Qt 项目实战 | 音乐播放器 Qt 项目实战 | 音乐播放器播放器整体架构创建播放器主界面 官方博客#xff1a;https://www.yafeilinux.com/ Qt开源社区#xff1a;https://www.qter.org/ 参考书#xff1a;《Qt 及 Qt Quick 开发实战精解》 Qt 项目实战 | 音乐播放器 开发环… Qt 项目实战 | 音乐播放器 Qt 项目实战 | 音乐播放器播放器整体架构创建播放器主界面 官方博客https://www.yafeilinux.com/ Qt开源社区https://www.qter.org/ 参考书《Qt 及 Qt Quick 开发实战精解》 Qt 项目实战 | 音乐播放器 开发环境Qt Creator 3.3.0 Qt 4.8.6 播放器整体架构 创建播放器主界面 新建 Qt Gui 应用项目名 myPlayer基类为 QWidget类名为 MyWidget。 添加资源文件 myImages前缀为空将 images 中的所有图片都添加进去。 myPlayer.pro 添加代码 QT phonon在 mywidget.h 添加头文件和类前置声明 #include phononclass QLabel;添加私有变量、函数 Phonon::MediaObject *mediaObject; QAction *playAction; QAction *stopAction; QAction *skipBackwardAction; QAction *skipForwardAction; QLabel *topLabel; QLabel *timeLabel;void initPlayer();添加私有槽 private slots:void updateTime(qint64 time);void setPaused();void skipBackward();void skipForward();void openFile();void setPlaylistShown();void setLrcShown();在 mywidget.cpp 中添加头文件 #include QLabel #include QToolBar #include QVBoxLayout #include QTime在构造函数中添加代码 initPlayer();添加 initPlayer() 函数的定义 // 初始化播放器 void MyWidget::initPlayer() {// 设置主界面标题、图标和大小setWindowTitle(tr(音乐播放器));setWindowIcon(QIcon(:/images/icon.png));setMinimumSize(320, 160);setMaximumSize(320, 160);// 创建媒体图mediaObject new Phonon::MediaObject(this);Phonon::AudioOutput* audioOutput new Phonon::AudioOutput(Phonon::MusicCategory, this);Phonon::createPath(mediaObject, audioOutput);// 关联媒体对象的tick()信号来更新播放时间的显示connect(mediaObject, SIGNAL(tick(qint64)), this, SLOT(updateTime(qint64)));// 创建顶部标签用于显示一些信息topLabel new QLabel(tr(a href \ https://blog.csdn.net/ProgramNovice \ https://blog.csdn.net/ProgramNovice /a));topLabel-setTextFormat(Qt::RichText);topLabel-setOpenExternalLinks(true);topLabel-setAlignment(Qt::AlignCenter);// 创建控制播放进度的滑块Phonon::SeekSlider* seekSlider new Phonon::SeekSlider(mediaObject, this);// 创建包含播放列表图标、显示时间标签和桌面歌词图标的工具栏QToolBar* widgetBar new QToolBar(this);// 显示播放时间的标签timeLabel new QLabel(tr(00:00 / 00:00), this);timeLabel-setToolTip(tr(当前时间 / 总时间));timeLabel-setAlignment(Qt::AlignCenter);timeLabel-setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);// 创建图标用于控制是否显示播放列表QAction* PLAction new QAction(tr(PL), this);PLAction-setShortcut(QKeySequence(F4));PLAction-setToolTip(tr(播放列表(F4)));connect(PLAction, SIGNAL(triggered()), this, SLOT(setPlaylistShown()));// 创建图标用于控制是否显示桌面歌词QAction* LRCAction new QAction(tr(LRC), this);LRCAction-setShortcut(QKeySequence(F2));LRCAction-setToolTip(tr(桌面歌词(F2)));connect(LRCAction, SIGNAL(triggered()), this, SLOT(setLrcShown()));// 添加到工具栏widgetBar-addAction(PLAction);widgetBar-addSeparator();widgetBar-addWidget(timeLabel);widgetBar-addSeparator();widgetBar-addAction(LRCAction);// 创建播放控制动作工具栏QToolBar* toolBar new QToolBar(this);// 播放动作playAction new QAction(this);playAction-setIcon(QIcon(:/images/play.png));playAction-setText(tr(播放(F5)));playAction-setShortcut(QKeySequence(tr(F5)));connect(playAction, SIGNAL(triggered()), this, SLOT(setPaused()));// 停止动作stopAction new QAction(this);stopAction-setIcon(QIcon(:/images/stop.png));stopAction-setText(tr(停止(F6)));stopAction-setShortcut(QKeySequence(tr(F6)));connect(stopAction, SIGNAL(triggered()), mediaObject, SLOT(stop()));// 跳转到上一首动作skipBackwardAction new QAction(this);skipBackwardAction-setIcon(QIcon(:/images/skipBackward.png));skipBackwardAction-setText(tr(上一首(CtrlLeft)));skipBackwardAction-setShortcut(QKeySequence(tr(CtrlLeft)));connect(skipBackwardAction, SIGNAL(triggered()), this, SLOT(skipBackward()));// 跳转到下一首动作skipForwardAction new QAction(this);skipForwardAction-setIcon(QIcon(:/images/skipForward.png));skipForwardAction-setText(tr(下一首(CtrlRight)));skipForwardAction-setShortcut(QKeySequence(tr(CtrlRight)));connect(skipForwardAction, SIGNAL(triggered()), this, SLOT(skipForward()));// 打开文件动作QAction* openAction new QAction(this);openAction-setIcon(QIcon(:/images/open.png));openAction-setText(tr(播放文件(CtrlO)));openAction-setShortcut(QKeySequence(tr(CtrlO)));connect(openAction, SIGNAL(triggered()), this, SLOT(openFile()));// 音量控制部件Phonon::VolumeSlider* volumeSlider new Phonon::VolumeSlider(audioOutput, this);volumeSlider-setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);// 添加到工具栏toolBar-addAction(playAction);toolBar-addSeparator();toolBar-addAction(stopAction);toolBar-addSeparator();toolBar-addAction(skipBackwardAction);toolBar-addSeparator();toolBar-addAction(skipForwardAction);toolBar-addSeparator();toolBar-addWidget(volumeSlider);toolBar-addSeparator();toolBar-addAction(openAction);// 创建主界面布局管理器QVBoxLayout* mainLayout new QVBoxLayout;mainLayout-addWidget(topLabel);mainLayout-addWidget(seekSlider);mainLayout-addWidget(widgetBar);mainLayout-addWidget(toolBar);setLayout(mainLayout);mediaObject-setCurrentSource(Phonon::MediaSource(../myPlayer/music.mp3)); }添加 updateTime(qint64 time) 槽的定义 // 更新 timeLabel 标签显示的播放时间 void MyWidget::updateTime(qint64 time) {qint64 totalTimeValue mediaObject-totalTime();QTime totalTime(0, (totalTimeValue / 60000) % 60, (totalTimeValue / 1000) % 60);QTime currentTime(0, (time / 60000) % 60, (time / 1000) % 60);QString str currentTime.toString(mm:ss) / totalTime.toString(mm:ss);timeLabel-setText(str); }添加 setPaused() 槽的定义 // 播放或者暂停 void MyWidget::setPaused() {// 如果先前处于播放状态那么暂停播放;否则开始播放if (mediaObject-state() Phonon::PlayingState)mediaObject-pause();elsemediaObject-play(); }
http://www.zqtcl.cn/news/109597/

相关文章:

  • 做文案图片上什么网站seo具体优化流程
  • 摄影做网站中国电商公司排名
  • 比较好的平面设计网站国际进出口贸易网站
  • 网站集约化建设困难seo技术网网
  • 咸宁网站建设报价成都网站设计 冠辰
  • 织梦网站首页目录在哪里自己编写的网站如何放到wordpress
  • 检测网站为什么打不开了推广网站有哪些方式
  • 建设银行官方网站下载安装python可以做网站吗
  • 邢台好蜘蛛网站建设郑州市网络设计公司
  • 忻府网站建设手机上做网站
  • 长宁长沙网站建设域名网站
  • 太原自助建站系统公司网站建设合同书
  • 购买深圳网站定制开发重庆学校网站建设
  • 站长素材音效下载重庆市建设工程信息网综合网
  • 网络营销专业就业方向wordpress插件dx-seo
  • 义乌有什么企业网站吗大良企业网站建设
  • 外链网站推荐几个html5标准网站建设
  • 博星卓越营销网站设计古镇镇建网站公司
  • 3. 是网站建设的重点网站后台添加关键词
  • 免费手机网站模板下载百度网站建设北京
  • 爱用建站建设网站的报告
  • 网站关键字被百度收录网站开发asp.net
  • 内部卷网站怎么做的h5在线编辑器
  • 搞定设计网站做的图怎么下载不了网站死链接怎么删除
  • 济南企业建站怎么样在pc端预览手机网站
  • c 手机网站开发模板最好的建站网站
  • 防城港市网站建设成功网站建设案例
  • 成都公司网站制作公司实验一 电子商务网站建设与维护
  • 即墨区城乡建设局网站300m空间够用吗 wordpress
  • 成都软件开发培训机构7个湖北seo网站推广策略