请选择 进入手机版 | 继续访问电脑版

QT +VS 自制小应用程序播放音频,更改win10桌面壁纸

[复制链接]
谢世民 发表于 2021-1-3 11:55:45 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
Qt版本5.14.2 + VS2017
当前主要功能:播放音频,更改win10桌面壁纸

  QT +VS 自制小应用步伐播放音频,更改win10桌面壁纸

总结几个要点如下:
1 关于步伐透明边框+配景图片配景的切换

  1.         setWindowFlags(Qt::FramelessWindowHint);//无框        setAttribute(Qt::WA_TranslucentBackground);//配景透明                roletimer = new QTimer;//创建步伐配景图片切换定时器        roletimer->start(5000);        connect(roletimer, &QTimer::timeout, this, &QTwallpaper::roleCut);        //步伐配景 默认看板娘        ui.BGwidget->setStyleSheet(QString("background-image:url(:/image/res/appgirl/appgirl1.png);background-repeat:no-repeat;"));---------------------------------------------        //步伐配景3张图片的定时切换void QTwallpaper::roleCut(){        static int flag = 1;        flag = flag % 3 + 1;        ui.BGwidget->setStyleSheet(QString("background-image:url(:/image/res/appgirl/appgirl%1.png);background-repeat:no-repeat;").arg(flag));//%1 %2}
复制代码
2 由于配景透明,使用原鼠标事件已经不能准确移动

  1. void QTwallpaper::mouseMoveEvent(QMouseEvent * ev){        this->move(ev->globalPos() - moveLeftTop); //窗口的左上角坐标}void QTwallpaper::mousePressEvent(QMouseEvent * ev){        moveLeftTop = ev->pos(); //获取鼠标相当于窗口的坐标}
复制代码
3 设置桌面壁纸(现在只能是静态的)

  1. //设置桌面壁纸void setting::on_selectImg_Button_clicked(){        QString fileName = QFileDialog::getOpenFileName(this,                tr("select Image"),                "F:",                tr("(*png *jpg)")                        //"(*gif);;"                        //"(*mp4 *mp3)")        );        this->srcPath = fileName;        //壁纸注册表        QSettings wallPaper("HKEY_CURRENT_USER\\Control Panel\\Desktop",                QSettings::NativeFormat);        //给壁纸注册表设置新的值(新的图片路径)        if (this->srcPath != "") {                wallPaper.setValue("Wallpaper", this->srcPath);                QByteArray byte = this->srcPath.toLocal8Bit();                //调用windowsAPI                SystemParametersInfoA(SPI_SETDESKWALLPAPER, 0, byte.data(), SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);        }}
复制代码
4 播放音频

  1. #include [^1]        -----------------------------------//播放音频void setting::setbkMusic(){        QString fileName = QFileDialog::getOpenFileName(this,                tr("select Music"),                "F:",                tr("(*wav *mp3)"                )        );        this->srcPath = fileName;                if (srcPath != " ")        {                QMediaPlayer *player = new QMediaPlayer;                                player->setMedia(QUrl::fromLocalFile(this->srcPath));                player->play();                        }}
复制代码
[^1]注:需要加这个库到你的项目里

项目源码无积分下载

来源:https://blog.csdn.net/qq_44256828/article/details/112035469
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )