QT +VS 自制小应用程序播放音频,更改win10桌面壁纸
作者:互联网
Qt版本5.14.2 + VS2017
当前主要功能:播放音频,更改win10桌面壁纸
QT +VS 自制小应用程序播放音频,更改win10桌面壁纸
总结几个要点如下:
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 由于背景透明,使用原鼠标事件已经不能准确移动
void QTwallpaper::mouseMoveEvent(QMouseEvent * ev)
{
this->move(ev->globalPos() - moveLeftTop); //窗口的左上角坐标
}
void QTwallpaper::mousePressEvent(QMouseEvent * ev)
{
moveLeftTop = ev->pos(); //获取鼠标相当于窗口的坐标
}
3 设置桌面壁纸(目前只能是静态的)
//设置桌面壁纸
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 播放音频
#include <QtMultimedia/QMediaPlayer>
-----------------------------------
//播放音频
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();
}
}
标签:QT,void,tr,srcPath,VS,image,win10,音频,桌面壁纸 来源: https://blog.csdn.net/qq_44256828/article/details/112035469