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

丽水建设厅网站网站优化策划书

丽水建设厅网站,网站优化策划书,软件开发工程师的就业前景,巢湖路桥建设集团有限公司网站QT mp3音乐播放器实现框架,Qt鼠标事件,网络编程,QSqlite,Json解析,HTTP请求等框架搭建UI设计mp3.hmp3.cpp隐藏窗口标题 最大化 最小化 关闭框架搭建 .pro添加 # 网络 添加多媒体 数据库 QT network multimedia sql添加头…

QT mp3音乐播放器实现框架,Qt鼠标事件,网络编程,QSqlite,Json解析,HTTP请求等

  • 框架搭建
  • UI设计
  • mp3.h
  • mp3.cpp
  • 隐藏窗口标题 最大化 最小化 关闭


框架搭建

.pro添加

# 网络 添加多媒体 数据库
QT       += network multimedia sql

添加头文件

#include <QWidget>
#include <QNetworkRequest>               //HTTP的URL请求管理类
#include <QNetworkAccessManager>   //网络入口
#include <QNetworkReply>                   //网络应答
#include <QEventLoop>                        //网络请求
#include <QJsonArray>                         //解析数组
#include <QJsonObject>                      //解析对象
#include <QMediaPlayer>                    //媒体播放
#include <QMediaPlaylist>                   //媒体播放列表
#include <QSqlDatabase>                    //数据库
#include <QSqlQuery>                         //数据库查询
#include <QSqlQueryModel>               //查询模式
#include <QSqlError>                           //数据库报错
#include <QMessageBox>                   //弹出信息框
#include <QTime>                               //hh:mm:ss
#include <math.h>                              //数学
#include <QDebug>
#include <QMoveEvent>                    //移动事件
#include <QScreen>                          //屏幕
//代码中引入头文件
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))//qt当前版本>=qt5
#include <QtWidgets>
#endif
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))//qt当前版本>=qt6
#include <QtCore5Compat>
#endif//.默认Qt6开启了高分屏支持,界面会变得很大,甚至字体发虚,很多人会不习惯,
//因为这种模式如果程序很多坐标计算没有采用devicePixelRatio进行运算的话,
//100%会出现奇奇怪怪的问题,因为坐标不准确了。要取消这种效果可以设置高分屏缩放因子。
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Floor);
#endif#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))std::sort(ipv4s.begin(), ipv4s.end());
#endif

添加资源文件夹
在这里插入图片描述

UI设计

在这里插入图片描述
在这里插入图片描述

按钮风格

QPushButton

QPushButton{
border-radius:0px;
background-repeat:no-repeat;
border:none;
background-position:canter canter;
}
QPushButton:hover
{background-color: rgba(230, 0, 0, 5);
}
color: rgb(255, 255, 255);/*字体颜色白色*/
background-color: rgba(255, 255, 255,50);/*背景色 透明度50*/
font: 75 12pt "Arial";

QLineEdit

color: rgb(255, 255, 255);/*字体颜色白色*/
background-color: rgba(255, 255, 255,50);/*背景色 透明度50*/
font: 75 12pt "Arial";
border:2px solid;
border-color: rgb(0, 255, 0);

mp3.h

#ifndef MP3_H
#define MP3_H#include <QWidget>
#include <QNetworkRequest>               //HTTP的URL请求管理类
#include <QNetworkAccessManager>   //网络入口
#include <QNetworkReply>                   //网络应答
#include <QEventLoop>                        //网络请求
#include <QJsonArray>                         //解析数组
#include <QJsonObject>                      //解析对象
#include <QMediaPlayer>                    //媒体播放
#include <QMediaPlaylist>                   //媒体播放列表
#include <QSqlDatabase>                    //数据库
#include <QSqlQuery>                         //数据库查询
#include <QSqlQueryModel>               //查询模式
#include <QSqlError>                           //数据库报错
#include <QMessageBox>                   //弹出信息框
#include <QTime>                               //hh:mm:ss
#include <math.h>                              //数学
#include <QDebug>
#include <QMoveEvent>                    //移动事件
#include <QScreen>                          //屏幕
//代码中引入头文件
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))//qt当前版本>=qt5
#include <QtWidgets>
#endif
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))//qt当前版本>=qt6
#include <QtCore5Compat>
#endif//.默认Qt6开启了高分屏支持,界面会变得很大,甚至字体发虚,很多人会不习惯,因为这种模式如果程序很多坐标计算没有采用devicePixelRatio进行运算的话,
//100%会出现奇奇怪怪的问题,因为坐标不准确了。要取消这种效果可以设置高分屏缩放因子。
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::Floor);
#endif#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))std::sort(ipv4s.begin(), ipv4s.end());
#endifQT_BEGIN_NAMESPACE
namespace Ui { class MP3; }
QT_END_NAMESPACEclass MP3 : public QWidget
{Q_OBJECTpublic:MP3(QWidget *parent = nullptr);~MP3();void paintEvent(QPaintEvent *event);private slots:void on_PB_close_clicked();void on_PB_Function_clicked();private:Ui::MP3 *ui;//音乐下载播放void DownloadPlayer(QString id, QString hash);//访问httpvoid DashJsonAnalysis(QByteArray json);//搜索音乐数据信息的json解析 解析出真正的音乐文件和歌曲QString MusicJsonAnalysis(QByteArray musicJson);//获取qt版本void GetQtVersion();//获取当前屏幕尺寸区域QRect getScreenRect(bool available);int getScreenIndex();protected:void mouseMoveEvent(QMouseEvent *event);void mouseReleaseEvent(QMouseEvent *event);void mousePressEvent(QMouseEvent *event);
private://定义坐标QPoint m_mousePoint;QPoint movepress;bool  isMousePress;};
#endif // MP3_H

mp3.cpp

只是实现了鼠标窗口移动事件

#include "mp3.h"
#include "ui_mp3.h"
#include <QPainter>MP3::MP3(QWidget *parent): QWidget(parent), ui(new Ui::MP3)
{ui->setupUi(this);//固定窗口大小 宽 高this->setFixedSize(this->geometry().size());//隐藏窗口标题/*生成一个无边界的窗口。用户不能通过窗口系统移动或调整无边界窗口的大小。* 在x11上,标志的结果取决于窗口管理器和它理解主题和/或网络提示的能力。* 大多数现有的现代窗口管理器都可以处理这个问题。*/this->setWindowFlag(Qt::FramelessWindowHint);
}MP3::~MP3()
{delete ui;
}//画主题背景
void MP3::paintEvent(QPaintEvent *event)
{QPainter painter(this);//画家要操作的部件painter.drawPixmap(0,0,QPixmap(":/Images/2041960.jpg"));
}//关闭当前窗口
void MP3::on_PB_close_clicked()
{//this->close();qApp->quit();
}void MP3::DownloadPlayer(QString id, QString hash)
{}void MP3::DashJsonAnalysis(QByteArray json)
{}QString MP3::MusicJsonAnalysis(QByteArray musicJson)
{}void MP3::GetQtVersion()
{qDebug()<<"qt当前版本 = "<<QT_VERSION<<"qt 6检查版本 = "<<QT_VERSION_CHECK(6,0,0);
}void MP3::mouseMoveEvent(QMouseEvent *event)
{if(isMousePress){QPoint movePos = event->globalPos(); //当前鼠标移动坐标qDebug()<<" movePos = "<<event->globalPos();this->move(movePos - m_mousePoint);//鼠标当前移动坐标-原始坐标 = 第二个位置}
}void MP3::mouseReleaseEvent(QMouseEvent *event)
{Q_UNUSED(event);     //不使用isMousePress = false;//鼠标松开
}void MP3::mousePressEvent(QMouseEvent *event)
{if(event->button() == Qt::LeftButton)isMousePress = true;//鼠标按压//窗口移动距离m_mousePoint = event->globalPos() - this->pos(); //当前鼠标移动坐标-当前窗口坐标(默认固定不变)= 第一个位置qDebug()<<" globalPos = "<<event->globalPos();qDebug()<<" this->pos = "<<this->pos();               //窗口当前坐标}
//===========================================================================
//功能页
void MP3::on_PB_Function_clicked()
{GetQtVersion();getScreenRect(true);
}//获取当前屏幕索引
int MP3::getScreenIndex()
{//需要对多个屏幕进行处理int screenIndex = 0;
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))int screenCount = qApp->screens().count();qDebug()<<"screenCount = "<<screenCount;
#elseint screenCount = qApp->desktop()->screenCount();
#endifif (screenCount > 1) {//找到当前鼠标所在屏幕QPoint pos = QCursor::pos();qDebug()<<"pos = "<<pos;for (int i = 0; i < screenCount; ++i) {
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))if (qApp->screens().at(i)->geometry().contains(pos)) {
#elseif (qApp->desktop()->screenGeometry(i).contains(pos)) {
#endifscreenIndex = i;break;}}}qDebug()<<"screenIndex = "<<screenIndex;return screenIndex;
}//获取当前屏幕尺寸区域
QRect MP3::getScreenRect(bool available)
{QRect rect;int screenIndex = getScreenIndex();if (available) {
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))rect = qApp->screens().at(screenIndex)->availableGeometry();
#elserect = qApp->desktop()->availableGeometry(screenIndex);
#endif} else {
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))rect = qApp->screens().at(screenIndex)->geometry();
#elserect = qApp->desktop()->screenGeometry(screenIndex);
#endif}qDebug()<<"rect = "<<rect;return rect;
}

隐藏窗口标题 最大化 最小化 关闭

生成一个无边界的窗口。用户不能通过窗口系统移动或调整无边界窗口的大小。
在x11上,标志的结果取决于窗口管理器和它理解主题和/或网络提示的能力。
大多数现有的现代窗口管理器都可以处理这个问题。

this->setWindowFlag(Qt::FramelessWindowHint);
http://www.khdw.cn/news/17172.html

相关文章:

  • 高端网站建设哪家好广告制作
  • 好的网站设计制作广州各区最新动态
  • 邯郸鑫芭网络科技有限公司安卓优化神器
  • 中国建设银行招投标网站重庆高端网站seo
  • 完成网站建设的心得体会百度分公司
  • 男人和女人做性网站信息流优化师是做什么的
  • 做商城类网站备案时需提供什么证件软文营销ppt
  • 建设常规的网站报价是多少网站优化是什么
  • 购物网站建设过程视频产品seo标题是什么
  • 有什么专业做蛋糕的网站吗软文推广营销平台
  • 汉川网站开发营销策略范文
  • 郑州软件网站建设小程序seo
  • 如何设计网站制作方案如何引流推广
  • 南昌英文网站建设国际新闻最新消息
  • 网站建设 预付款南宁seo推广服务
  • 企业网站优化推广方法小说排行榜2020前十名
  • 免费帮忙做网站seo是什么的缩写
  • 互联网公司运营seo网站优化服务合同
  • 惠州市+网站开发公司产品网络推广的方法有哪些
  • 如何做网站推广雷公钻百度搜索app
  • 找人做logo网站重庆森林经典台词独白
  • 微信公众号预约关键词优化seo多少钱一年
  • wordpress 多大VPS扬州网站seo
  • 企业网站需求方案打开浏览器直接进入网站
  • 深圳市住房和建设局网站登录老铁seo外链工具
  • 郑州微信网站自动推广软件免费
  • 著名网站设计公司河南整站百度快照优化
  • 什么网站可以自己做房子设计如何学会推广和营销
  • 把自己做的网站发布网络营销个人感悟小结
  • 安徽建设工程信息网技术服务电话seo是如何优化