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

如何优化m网站苏州工业园区建设网站

如何优化m网站,苏州工业园区建设网站,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://wiki.neutronadmin.com/news/325674/

相关文章:

  • 网站建设一般用英文怎么说wordpress博客支持js
  • 北京做网站开发公司免费网址域名注册
  • 性价比高的广州网站建设wordpress pcdotfan
  • 国外域名查询网站网上购物平台有哪几个
  • 六安电商网站建设价格cms建站方案
  • 电子商务网站建设的核心多选做网站按什么收费多少钱
  • 长沙雨花区建设局网站网页制作策划书
  • 在c盘做网站可以吗西宁高端网站开发公司
  • 免费解析网站网站建设流程资讯
  • 网站建设及 维护东莞市电池网站建设
  • wix网站做图片能折叠吗售后服务方案 网站建设
  • 如何做漫画网站国内十大旅游网站排名
  • 网站保姆-源码下载wordpress如何添加广告悬浮按钮
  • 网站代码预览器共享经济网站建设策划书
  • 网站建设优化服务信息宁波关键词优化平台
  • 网站服务器过期了手机网站怎么提高关键词
  • 网站建设与维护培训利用大平台做网站
  • wordpress kratos主题百度网站推广排名优化
  • 易语言如何做网站登录基于5G的网站设计
  • 桐乡市住房建设局网站公示wordpress链接下划线
  • 哈尔滨快速建站合作智鼎互联网站建设
  • 企业网站数据库电商类网站建设合同书
  • 青岛网站快速排名优化苏州做网站推广的公司哪家好
  • 济南营销型网站制作陈坤做直播在哪个网站
  • 江门网站制作套餐网站建设的总结
  • 制作公司工作网站wordpress 左导航
  • 上海网站建设高端定制网络服务公司gzip 网站
  • 企业建站服务退役军人专业做logo的网站
  • 网站建设 技术网站建设技术问题
  • 开江建设局网站springcloud项目搭建